Показать сообщение отдельно
Старый 23.03.2015, 16:26   #2  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
Аватар для pedrozzz
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Регистрация: 18.02.2010
Адрес: Краснодар
Вывод через COM всегда был крайне не стабилен. Обычно тяжелые отчеты, использующие COM, надо запустить и не дышать. В прямом смысле, даже мышкой дергать не надо и это к сожалению не шутки И даже это не гарантирует отсутствия неадекватных ошибок. А вы хотите в открытую Excel сессию вклиниться.

Есть всякие воркэраунды, типа
• переписывания логики работы с офисом на .Net (Взаимодействие с Excel через .NET (семейство классов SysExcel))
• или в отдельные потоки (Ошибка времени выполнения в ComExcelDocument_RU.findRange() )
• или вызов функций через COMDispFunction (Ошибка при вызове COM-метода ) См. так же Win2008 и вызов методов COM-объектов

выбор того или иного метода зависит от задачи, сроков, бюджета и т.д.
__________________
Кононов Пётр

Последний раз редактировалось pedrozzz; 23.03.2015 в 16:39.
За это сообщение автора поблагодарили: demianimp (1).