Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как привязаться к экземпляру приложения / 15 сообщений из 15, страница 1 из 1
15.06.2006, 20:15
    #33794138
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязаться к экземпляру приложения
Подскажите, пожалуйста, как решить проблему
в моей программулине используется Excel типа:
dim objexcel As New excel.Application
objexcel.Workbooks.Add и тд
возникают проблемы если excel открыт уже.
как привязаться именно к этому objexcel?
...
Рейтинг: 0 / 0
15.06.2006, 23:09
    #33794292
Как привязаться к экземпляру приложения
dim xl as Object
Set xl = GetOject("Excel.Application")
...
Рейтинг: 0 / 0
16.06.2006, 09:51
    #33794618
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязаться к экземпляру приложения
Не получается у меня почемуто. Automation error выдает.
...
Рейтинг: 0 / 0
16.06.2006, 10:02
    #33794655
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязаться к экземпляру приложения
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Public Function Com_GetExcelObject() As Object
    On Error GoTo errh
    Set Com_GetExcelObject = GetObject(, "Excel.Application")
        Exit Function
errh:
    On Error GoTo errh2
    Set Com_GetExcelObject = CreateObject("Excel.Application")
    Exit Function
errh2:
    Set Com_GetExcelObject = Nothing
End Function
...
Рейтинг: 0 / 0
16.06.2006, 10:18
    #33794713
GetObject
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязаться к экземпляру приложения
timtimНе получается у меня почемуто. Automation error выдает.
Запятая потерялась :-(, но, спасибо, уже поправили.
...
Рейтинг: 0 / 0
16.06.2006, 11:18
    #33794964
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязаться к экземпляру приложения
Спасибо
...
Рейтинг: 0 / 0
16.06.2006, 18:18
    #33796652
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязаться к экземпляру приложения
............но только я так и непонял как мне всё это использовать в моем проекте.
Как это прикрутить к objexcel.Workbooks.Add чтобы программа работала только с этим экземпляром приложения Excel(с этим Workbook).
...
Рейтинг: 0 / 0
19.06.2006, 23:10
    #33801266
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязаться к экземпляру приложения
Проблема возникает когда другая программа создаёт excel.Application. моя прога не может обратится к нужной открытой книге или не может сохранить нужную книгу.help!
...
Рейтинг: 0 / 0
20.06.2006, 19:45
    #33803877
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязаться к экземпляру приложения
...на что грешить на руки или на excel...
...
Рейтинг: 0 / 0
20.06.2006, 20:15
    #33803912
Ламер Ламерович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязаться к экземпляру приложения
timtimПроблема возникает когда другая программа создаёт excel.Application. моя прога не может обратится к нужной открытой книге или не может сохранить нужную книгу.help!
Просто не понятно в чем проблема.
Открыл два проекта, в одном написал
Код: plaintext
1.
2.
3.
4.
5.
6.
Sub test()
    Dim xl As Object
    Set xl = CreateObject("Excel.Application")
    Stop
    xl.Quit
    Set xl = Nothing
End Sub

в другом
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub test()
    Dim xl As Object
    On Error Resume Next
    Set xl = GetObject(, "Excel.Application")
    If xl Is Nothing Then
        Debug.Print "Excel.Application not exists"
    Else
        Debug.Print "Excel.Application exists"
    End If
    Set xl = Nothing
End Sub

Зпустил первую процедуру на выполнение.
Перешел во второй проект, запустил вторую процедуру, вижу в окне отладки:
Excel.Application exists
...
Рейтинг: 0 / 0
20.06.2006, 20:55
    #33803974
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязаться к экземпляру приложения
timtim...на что грешить на руки или на excel...На руки и на умение задавать вопросы.
Мне кажется, что ты застрял чуть дальше чем просто Excel.Application...
Попробуй так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
set oWorkBook = nothing
set oExcel = GetObject(, "Excel.Application")
if oExcel is nothing then
    set oExcel = CreateObject("Excel.Application")
else
    for each oWB in oExcel.Workbooks
        if oWB.Name = "Book1.xls" then
           set oWorkBook = oWB
        end if
    next
end if
if oWorkBook is nothing then
    set oWorkBook = oExcel.Workbooks.Open("c:\somepath\Book1.xls")
end if
или даже так:
Код: plaintext
1.
2.
3.
4.
5.
6.
set oWorkBook = GetObject("c:\somepath\Book1.xls")
if oWorkBook is nothing then
    set oExcel = CreateObject("Excel.Application")
    set oWorkBook = oExcel.Workbooks.Open("c:\somepath\Book1.xls")
else
    set oExcel = oWorkBook.Application
end if
...
Рейтинг: 0 / 0
22.06.2006, 00:00
    #33807263
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязаться к экземпляру приложения
Спасибо за ответы, но имя книги не известно пока еЁ не сохранили, а сохраняется книга сразу после создания и заполнения полей.
Может ли быть такое что другая программа создаёт objexcel(ну типа с таким именем) а потом не делает set objexcel=Nothing и из-за этого вся заморочка
жарко
...
Рейтинг: 0 / 0
22.06.2006, 23:45
    #33810232
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязаться к экземпляру приложения
не получается.затуп.
...
Рейтинг: 0 / 0
22.06.2006, 23:54
    #33810237
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязаться к экземпляру приложения
Ты можешь объяснить чего ты хочешь? Покажи полный код и пометь в каких местах этой программы ты получаешь ошибку. Не забудь привести полный текст ошибки.
...
Рейтинг: 0 / 0
23.06.2006, 00:13
    #33810246
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как привязаться к экземпляру приложения
'Достаем из файла ресурсов шаблон
Open App.Path & "\TV.xlt" For Binary Access Write As #1
ResFile = LoadResData("TV", "Custom")
Put #1, , ResFile
Close #1
' Открывает новую рабочую книгу
objexcel.Workbooks.Add App.Path & "\TV.xlt"
'Удаляем файл
a = DeleteFile(App.Path & "\TV.xlt")

дальше заполняем книгу данными

вот здесь НЕ происходит соранение книги с именем=fname если другая прога создала objexcel

Workbooks("TV1").SaveAs FileName:=fname & "xls"

по ходу я туплю наверное надо:
objexcel.Workbooks("TV1").SaveAs FileName:=fname & "xls"?

я спать с утра проверю
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как привязаться к экземпляру приложения / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]