Работаю с COM Экзела. Создаю свой объект с помощью CreateOLEObject('Excel.Application") потом работаю с ним. Но вот возникла проблема: если паралельно на том же компе открыты еще другие экзеловские аппликации и идет интерактивная работа в них тогда в моей проге возникает exception. Тип эксепшена значения не имеет так как бывают разные. Но причина установлена точно — в том что параллельно идет интерактивная работа в другой открытой экзел-аппликации.
Вопрос: как из моей программы закрыть все открытые экзелевские аппликации? Или хотябы обнаружить что есть открытые экзел-аппликации чтобы сделать диагностику?
Здравствуйте, kolja2003, Вы писали:
K>Я так понимаю что закроет все объекты созданные DCOM server process launcher. Правильно? (конечно я проверю но может вы уже знаете)
Должна так и сделать. Я просто давно уже ничего такого не писал и подзабыл немного.
K>Но вот если Экзел аппликация была открыта интерактивно то есть с помощью exploler.exe то видимо не будет доступна этой функции?
Должна быть так же доступна, потому что как-то мы писали систему, которая должна была работать с Microsoft Office и именно ей проверяли есть ли еще активные объекты. Но к сожалению уже сейчас я тоже не очень помню это все. Надо попробовать