Word.Application отказано в ошибке - PullRequest
0 голосов
/ 03 июня 2018

У меня установлена ​​Windows 10 и MS Word 2007 и IIS7.Я использую классический ASP и VBScript для кодирования.

Я использую приведенный ниже код для печати файла документации.

Dim oWord
Set oWord = Server.CreateObject("Word.Application")
oWord.Documents.Open "D:\Patient\PatientDocs\Template2.docx"
oWord.Activedocument.PrintOut
oWord.Quit
Set oWord = Nothing

и получаю:

Server object error 'ASP 0178 : 80070005'

Server.CreateObject Access Error

/PATIENT/test.asp, line 21

The call to Server.CreateObject failed while checking permissions. Access is 
denied to this object.

Пожалуйста, помогите мне исправить это.

1 Ответ

0 голосов
/ 03 июня 2018

MS Word 2007 и IIS7.Я использую классический ASP и VBScript для кодирования.

В настоящее время Microsoft не рекомендует и не поддерживает автоматизацию приложений Microsoft Office из любых необслуживаемых неинтерактивных клиентских приложений или компонентов (включая ASP, ASP.NET, DCOM и NT Services)., поскольку Office может демонстрировать нестабильное поведение и / или тупиковую ситуацию при запуске Office в этой среде.

Если вы создаете решение, работающее в контексте на стороне сервера, вам следует попытаться использовать компоненты, которые были сделаныбезопасно для необслуживаемого исполнения.Или вы должны попытаться найти альтернативы, которые позволяют хотя бы части кода работать на стороне клиента.Если вы используете приложение Office из серверного решения, приложению не хватит многих необходимых возможностей для успешной работы.Кроме того, вы будете рисковать стабильностью вашего общего решения.Подробнее об этом читайте в статье Особенности серверной автоматизации Office .

В качестве обходного пути вы можете рассмотреть возможность использования Open XML SDK , если вы имеете дело только с открытыми документами XML.Или просто подумайте об использовании любых сторонних компонентов, предназначенных для выполнения на стороне сервера.

...