Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
проблемы с OLE Automation
|
|||
|---|---|---|---|
|
#18+
Добрый день. Не сталкивался ли кто с такой проблемой: excrep=create("Excel.Application") excrep.Visible=.t. excrep.DisplayAlerts=.f. excrep.WorkBooks.add(Alltrim(sys(5))+Alltrim(curdir())+"excelblank.xls") excrep.ActiveWorkBook.SaveAs(Alltrim(sys(5))+Alltrim(curdir())+'tmp.xls') excrep.Run('Begin') excrep.ActiveWorkBook.Save excrep.ActiveWorkBook.Close excrep.Quit RELEASE excrep Т.е. из фокса создаю Excel-евский документ, запускаю в нем макро, жду когда отработает, сохраняю, закрываю. Все ничего, только после отработки в памяти остается процесс Excel.exe. Его приходится закрывать в рукопашную (в nt - через диспетчер задач, в 9x- перегружаться только), но данные в нем отрабатываются нормально. Если закомментировать вызов макро, то процесс закрывается нормально. Если открыть документ и ручками запустить макро то тоже все хорощо. Заранее благодарен за предположения\комментарии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 08:30 |
|
||
|
проблемы с OLE Automation
|
|||
|---|---|---|---|
|
#18+
у меня все почти также и работает только quit я не вызываю и visible не делаю а что в макросе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 09:36 |
|
||
|
проблемы с OLE Automation
|
|||
|---|---|---|---|
|
#18+
и кстате если книга уже была я ипользую метод Open а не add а так не совсем понятно какой макрос вы вызываете ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 09:38 |
|
||
|
проблемы с OLE Automation
|
|||
|---|---|---|---|
|
#18+
Попробуй убрать excrep.ActiveWorkBook.Close перед excrep.Quit Было замечено, что разные версии Экселя работают неодинаково: для 7-го перед его закрытием нужно было закрывать ActiveWorkBook, а вот для 2000-го - не нужно. Впрочем, может, я чего-то путаю. ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 12:17 |
|
||
|
проблемы с OLE Automation
|
|||
|---|---|---|---|
|
#18+
Спасибо за участие. Макрос довольно сложный он обрабатывает некоторые данные (используется DBF и не только, посредством Microsoft.Jet.OLEDB.4.0 запросов) и оформляет отчет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 12:31 |
|
||
|
проблемы с OLE Automation
|
|||
|---|---|---|---|
|
#18+
Убрал Visible, Quit - все равно процесс остается висеть. Манипуляции с ActiveWorkbook.Close не помогают. Интересная особенность - если я запускаю макрос вручную то он отрабатвает и я вижу готовый отчет. А если программно - то все нормально отрабатывает но в конце, после выполнения последнего оператора макрос как-бы подвисает. Если сохранить и закрыть принудительно книгу то отчет можно снова открыт и он выглядит нормально. Впечатление такое что не стыкуется тот момент, что макрос уже отработал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 12:50 |
|
||
|
проблемы с OLE Automation
|
|||
|---|---|---|---|
|
#18+
так всё таки откуда макрос берется почему название таблицы не указывается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 13:02 |
|
||
|
проблемы с OLE Automation
|
|||
|---|---|---|---|
|
#18+
Макрос уже в книге находится она используется как шаблон. Макро находится в модуле книги. т.е. модуль добавлен в VB Project. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 13:13 |
|
||
|
проблемы с OLE Automation
|
|||
|---|---|---|---|
|
#18+
Спасибо за советы по поводу закрытия книги и закрытия экселя. Если не делать ни того ни другого то процесс не виснет. пользователю выдается окно с документом, которое он должен закрыть вручную. А автоматом закрыть не получается - остается процесс Excel.exe. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 13:58 |
|
||
|
проблемы с OLE Automation
|
|||
|---|---|---|---|
|
#18+
довольно трудно решить такого рода проблемму на расстоянии но все же возможно 1 макрос по какой либо причине (например пытаеться открыть таблицу уже открытую в фоксе ) не завершает работу нормально и повисает ты закрываешь таблицу команды типа quit игнорируються потому что макрос висит в итоге у тебя на копьютере остаеться висеть ексель с макросом 2 обычно я указываю название листа при вызове макроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 13:58 |
|
||
|
проблемы с OLE Automation
|
|||
|---|---|---|---|
|
#18+
Таблицы все закрыты - перед Экселем ставлю close table all. А по поводу имени листа - макро относится не к листу а к книге. Т.е. в VBAProject добавлен моуль с макросами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 14:09 |
|
||
|
проблемы с OLE Automation
|
|||
|---|---|---|---|
|
#18+
А если прямо из макро сделать ActiveWorkbook.Save, ActiveWorkbook.Close и Application.Quit? Кстати там какие-то параметры имеются - посмотри хелп, может надо их указать для этих методов? Posted via ActualForum NNTP Server 1.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2004, 03:12 |
|
||
|
проблемы с OLE Automation
|
|||
|---|---|---|---|
|
#18+
Из макро пробовал - результат тот-же, но происходит это только, если я запускаю макрос программно, а потом пытаюсь программно закрыть книгу. Проблема не в том, ято макро не отрабатывает или не сохраняется документ - он не закрывается нормально автоматом (вернее делает вид, что закрылся с экрана исчезает, но остается в памяти и итоговый документ остается занят.). Попробую проверить на другой машине (может быть софт стоящий на моей создает проблемы). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2004, 06:18 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32710442&tid=1595752]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 401ms |

| 0 / 0 |
