|
Опять про OLE
|
|||
---|---|---|---|
#18+
Всем привет! Столкнулся с таким. GetFileOpenName ( "Выберите", ls_pathname, ls_filename ) ls_fullname = ls_pathname // Выбор EXCEL файла myoleobject = CREATE OLEObject result = myoleobject.ConnectToObject( ls_fullname ) // result = 0 // Ok //.... //.... //.... myoleobject.DisconnectObject() DESTROY myoleobject Все прекрасно работает. НО в диспетчере задач остается висеть EXCEL.EXE При следующей операции result = -7 Или если открываешь EXCEL извне - системная ошибка. Как это побороть ? Может что не так делаю ? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2008, 11:38 |
|
Опять про OLE
|
|||
---|---|---|---|
#18+
сделайте в конце GarbageCollect ( ) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2008, 11:40 |
|
Опять про OLE
|
|||
---|---|---|---|
#18+
Pashaсделайте в конце GarbageCollect ( ) Не помогло. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2008, 11:44 |
|
Опять про OLE
|
|||
---|---|---|---|
#18+
soft1986 пишет: > Все прекрасно работает. > НО в диспетчере задач остается висеть EXCEL.EXE Файл открывал? Закрой его сам или дай возможность сделать это юзеру. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2008, 11:48 |
|
Опять про OLE
|
|||
---|---|---|---|
#18+
перед myoleobject.DisconnectObject() напишите еще myoleobject.Quit() ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2008, 11:53 |
|
Опять про OLE
|
|||
---|---|---|---|
#18+
а возможно еще и myoleobject.ActiveWorkbook.Close() ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2008, 11:55 |
|
Опять про OLE
|
|||
---|---|---|---|
#18+
Dim2000 soft1986 пишет: > Все прекрасно работает. > НО в диспетчере задач остается висеть EXCEL.EXE Файл открывал? Закрой его сам или дай возможность сделать это юзеру. Файл не открывал. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2008, 11:55 |
|
Опять про OLE
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2008, 12:03 |
|
Опять про OLE
|
|||
---|---|---|---|
#18+
Riska Код: plaintext 1. 2. 3. 4. 5.
А зачем FileClose(li_ole_number), если не было FileOpen? И потом: все работает(ole_book.Application.Quit), но если уже открыт EXECL-документ, то он тут-же закрывается. А это не есть хорошо. Как быть ? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2008, 12:27 |
|
Опять про OLE
|
|||
---|---|---|---|
#18+
непонятно!! Вам надо чтоб и документ в Excel оставался открытым, и процесса в диспетчере задач небыло? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2008, 12:44 |
|
Опять про OLE
|
|||
---|---|---|---|
#18+
VanoRнепонятно!! Вам надо чтоб и документ в Excel оставался открытым, и процесса в диспетчере задач небыло? Если вне приложения открыт EXCEL - то он тут-же закрывается. А если там у user-а что-то важное висит ? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2008, 12:47 |
|
Опять про OLE
|
|||
---|---|---|---|
#18+
Делай ConnecttoNewObject при этом открывается новый инстанс, соответственно и закрывать будешь только его, а без Quit выход не произведен, это все равно что просто открыть Exel, а потом удивляться почему же он открытый висит ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2008, 13:04 |
|
Опять про OLE
|
|||
---|---|---|---|
#18+
Тогда наверно сначала делать ConnecttoObject, если сделается, то в конце не делать Quit, а если не сделается то тогда уж ConnecttoNewObject, с Quit-ом в конце ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2008, 13:18 |
|
Опять про OLE
|
|||
---|---|---|---|
#18+
VanoRТогда наверно сначала делать ConnecttoObject, если сделается, то в конце не делать Quit, а если не сделается то тогда уж ConnecttoNewObject, с Quit-ом в конце Извиняюсь за настойчивость. Это Понятно. А как после успешного ConnecttoNewObject - привязаться к нужному excel-документу. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2008, 13:23 |
|
Опять про OLE
|
|||
---|---|---|---|
#18+
не понял ConnecttoNewObject и ConnecttoObject- это функции вашей переменной типа OLEObject... с этой переменной и надо потом работать myoleobject.Application.WorkBooks.Open("файл") а в конце myoleobject.DisconnectObject() если коннектились с ConnecttoNewObject, то тогда еще myoleobject.Quit() ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2008, 13:33 |
|
Опять про OLE
|
|||
---|---|---|---|
#18+
Работайте с конкретным workbook-ом ole_object.workbooks(<имя книги>).worksheets(<имя листа>) ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2008, 14:46 |
|
|
start [/forum/topic.php?fid=15&gotonew=1&tid=1336474]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 262ms |
total: | 417ms |
0 / 0 |