Проблема повторного открытия Word в фоновом режиме
Доброго времени суток!
Задача состоит в том что бы обработать word документ в фоновом режиме.
Данная задача мною решается сл образом:
//*************//
Word = new ActiveXObject("Word.Application"); // creates the word object
Word.Visible=false; // doesn't display Word window
var oLoadedDocument = Word.Documents.Open(idFile.value); // specify path to document
Doc = Word.Documents(idFile.value).content;
Word.quit(0);
//************//
Проблема появляется когда документ Word с именем из idFile.value уже был уже открыт. Выскакивает окно "Файл уже используется" и выбор пунктов:
1) Открыть только для чтения
2) Создание лок. копии и т п.
При этом данное окно невидимо и что бы его отобразить пользуюсь диспетчером задач.
Как можно обойти данную проблему (возможно как то открывать документ только для чтения) или хотя бы как то обработать исключение с сообщением пользователю???
Друзья если кому интересно нашел следующий выход. Необходимо скрывать документ //Word.Visible=false; только после того как откроешь.
Т.е. с начало:
var oLoadedDocument = Word.Documents.Open(idFile.value);
далее:
Word.Visible=false;
Меняя местами вызовы операторов тем самым, при возникновении вышеописанной ситуации, Диалоговое окно "О уже запущенном документе" будет отображен, и после выбора пункта документ будет обработан и закрыт.
Как оказывается все было просто, однако если у Вас есть еще какие то предложения буду признателен если их приведете.
discribe, сори, ступил У Вас создается еще один экземпляр приложения, а в нем коллекция Documents изначально пустая. Чтобы получить уже существующий, в vb используется функция GetObject(). Посмотрите в эту сторону, мож получится )
__________________ Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук