У меня есть пользователь, у которого есть для использования Microsoft Word 2007 для создания и управления текстовыми документами в своем веб-приложении ASP. Мне хорошо известна статья « Соображения по поводу серверной автоматизации Office » в КБ и множество сторонних компонентов, доступных для такого рода вещей, но они довольно неплохо пошли по этому пути уже.
Проблема, с которой он сталкивается, заключается в том, что процесс WINWORD.EXE
никогда не завершается, даже если он вызывает Quit
для объекта приложения.
Например:
Set objWord = Server.CreateObject("Word.Application")
'' Do work
objWord.Quit
Set objWord = Nothing
Как и следовало ожидать, его сервер в конечном итоге завален осиротевшими WINWORD.EXE
процессы, требующие ручного вмешательства для прекращения.
Есть ли способ явно завершить эти WINWORD.EXE
процессы в скрипте?
Обновление:
Я достиг некоторого прогресса в этом, и я думаю, что у меня есть понимание того, в чем проблема. Когда приложение Office запускается впервые под новой учетной записью Windows, оно запрашивает ваше имя и инициалы. Теперь, поскольку нет видимого графического интерфейса, там нет никого, кто бы нажимал все нужные кнопки. Я попытался запустить WINWORD.EXE
в качестве идентификатора анонимной учетной записи на сайте, используя RUNAS
, но есть некоторая проблема с правами, которая не позволяет Word или Office выполнить какую-либо другую процедуру начальной настройки, которую он хочет выполнить.