|
VFP+Excel, ошибка OLE 0x800100105 при открытии документа
|
|||
---|---|---|---|
#18+
VFP9.0 SP2, MS Office Excel 2003 SP1 Понадобилось вытягивать данные из файлов *.ХLS В принципе, все работает, но есть ньюанс. Иногда при обработке одного и того же списка одних и тех же файлов (примерно 25 штук) присходит ошибка. Может все отработать без вопросов несколько раз, а может вылететь на любом файле. Файлы XLS содержат макросы. Сделано так: ************************ * получаем список файлов *XLS oXL=CREATEOBJECT("Excel.Application") oX2=oXL.Application oX2.AutomationSecurity= 3 && Убрать запрос о макросах при открытии файла oX2.DisplayAlerts=.F. && Убрать запрос "Сохранить" при закрытии, если файл создан в др. версии Excel * Цикл по файлам из списка llrez=oX2.Workbooks.Open(lcfilename) && здесь иногда происходит ошибка !!! * * выбираем данные * oX2.Workbooks(1).close *конец цикла oX2.quit ************************ Сообщение такое: "Ошибка OLE, код 0x80010105: Ошибка на сервере" При этом документ как бы открывается, данные частично доступны. Т.е. содержимое ячейки читается lnpp=ox2.cells(lni,1).value Зато объект Interior не создан (Null), соответственно, и цвет ячейки почитать нельзя lncolor=ox2.Cells(lni,5).Interior.Color Процесс "Excel" загрузжает процессор до 98%, закрыть его штатно (oX2.Workbooks(1).close или oX2.quit) не удается - не реагирует. Если попросить показать Excel после ошибки ((oX2.visible=.T.) то документ открывается, если стать на ячейку с формулой, текст формулы "мельтешит". Как бы Excel зациклился где-то. Программа завершается аварийно, процесс Excel приходится убивать через диспетчер задач. Все файлы при открытии "вручную" открываются без ошибок. Вопросы 1. Может, кто-то знает причину? 2. Как это обойти 3. В крайнем случае, как из программы убить ставший неуправляемым процесс Excel, чтобы попробовать создать новый экземпляр Excel.Application и продолжить обработку списка файлов. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2009, 15:49 |
|
VFP+Excel, ошибка OLE 0x800100105 при открытии документа
|
|||
---|---|---|---|
#18+
задержку вонзить sleep(500), видать не успевает. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2009, 16:23 |
|
|
start [/forum/topic.php?fid=41&fpage=125&tid=1586364]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
89ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 178ms |
0 / 0 |