|
![]() |
#1 |
Участник
|
Еще один способ - отключение реагирования на DDE запросы в процессе-обработчике. Перед закрытием Excel параметр восстановить обратно (В обязательном порядке!!! Иначе открыть файл из проводника не получится).
X++: static void ExcelImportTest(Args _args) { ComExcelDocument_Ru excel = new ComExcelDocument_Ru(); com doc; com app; com sheet; com range; ComVariant var; boolean ignore; ; excel.open("c:\\Temp\\Test.xls", false); doc = excel.getComDocument(); app = doc.application(); ignore = app.IgnoreRemoteRequests(); app.IgnoreRemoteRequests(true); try { sheet = app.activesheet(); range = sheet.range("A1:J1"); while (true) var = range.value(); } catch { info("catch"); // из обработки вываливаемся по брейку } app.IgnoreRemoteRequests(ignore); app.quit(); }
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: fomenka (1), gl00mie (3), Romsrs (1). |
![]() |
#2 |
Участник
|
Всем большое спасибо!
2 AndyD Отдельное спасибо! Последний способ помог! |
|
![]() |
#3 |
Участник
|
Цитата:
Сообщение от AndyD
![]() Еще один способ - отключение реагирования на DDE запросы в процессе-обработчике. Перед закрытием Excel параметр восстановить обратно (В обязательном порядке!!! Иначе открыть файл из проводника не получится).
X++: static void ExcelImportTest(Args _args) { ComExcelDocument_Ru excel = new ComExcelDocument_Ru(); com doc; com app; com sheet; com range; ComVariant var; boolean ignore; ; excel.open("c:\\Temp\\Test.xls", false); doc = excel.getComDocument(); app = doc.application(); ignore = app.IgnoreRemoteRequests(); app.IgnoreRemoteRequests(true); try { sheet = app.activesheet(); range = sheet.range("A1:J1"); while (true) var = range.value(); } catch { info("catch"); // из обработки вываливаемся по брейку } app.IgnoreRemoteRequests(ignore); app.quit(); } ![]() ![]() |
|