ошибка: автоматизация слова - PullRequest
0 голосов
/ 23 марта 2012

У меня 64-разрядная версия IIS7 (Windows Server 2008), но мое приложение работает в 32-разрядном режиме.MS Office 2003 установлен на сервере.Я не могу найти {000209FF-0000-0000-C000-000000000046} в Службах компонентов, но вижу {00020906-0000-0000-C000-000000000046}, и я также назначил для него все разрешения.

Если я подаю заявкуолицетворение, то я вижу winword.exe * 32 в диспетчере задач и страница в процессе в течение длительного долгого времени, как палка, без ответа / ошибки.Я заметил, что страница «залипает» / всегда выполняется с

'' Пропущено и нет ошибок при олицетворении

Dim WordApp As Microsoft.Office.Interop.Word.Application = New Microsoft.Office.Interop.Word.Application

'' Пропущено и без ошибок с олицетворением

Dim objDoc As Microsoft.Office.Interop.Word.Document = New Microsoft.Office.Interop.Word.Document

'' С олицетворением эта строка кода привязывает страницу к длительному процессу - Documents.Open

objDoc = WordApp.Documents.Open(path)

Чего мне не хватает?Тот же код работал с 64-битной Windows Server 2003.

1 Ответ

3 голосов
/ 23 марта 2012

Office Interop не предназначен для использования на стороне клиента. У Microsoft есть статья База знаний по теме автоматизации Office на стороне сервера, хотя вы можете прочитать ее.

Не зная, для чего вы пытаетесь использовать взаимодействие, все, что я могу порекомендовать, это перейти на использование Office OpenXML для автоматизации вашего сервера. Если вы просто манипулируете документами, это должно позволить вам сделать это. Во всем остальном я бы порекомендовал просмотреть предложения по альтернативам в статье базы знаний, на которую я ссылался.


Если вам действительно нужно, есть решение для взлома вашей проблемы

если вы создадите папку C:\Windows\SysWOW64\config\systemprofile\Desktop и C:\Windows\System32\config\systemprofile\Desktop, это может решить вашу проблему, но если вы можете, я бы весьма рекомендовал бы вместо этого использовать OpenXML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...