Проблема взаимодействия для DCOM в Word Automation

Я использую класс автоматизации слов на странице aspx для открытия и редактирования файла слова. Проблема в том, что каждый раз, когда код попадает в строку открытого приложения, я получаю следующую ошибку:

Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).

Я много искал эту проблему и пробовал настройки DCOMCONFIG. Проблема в том, что на моем компьютере не существует настройки приложения Microsoft Word. Есть ли способ исправить эту самую неприятную проблему? Или есть другой способ сделать эту автоматизацию слова без использования слова iterop?


person John Baum    schedule 16.03.2012    source источник
comment
Вы не должны использовать автоматизацию Office из любого служебного приложения, особенно из ASP.NET. Он был разработан для использования только из настольного приложения, поэтому не понимает, что он используется разными пользователями и несколькими потоками одновременно. Он также не поддерживается и может нарушать ваше лицензионное соглашение, но это не связано с тем фактом, что он либо просто не будет работать, либо, что еще хуже, будет казаться, что он работает, но навсегда заставит вас гоняться за неисправимыми ошибками.   -  person John Saunders    schedule 16.03.2012
comment
См. раздел stackoverflow.com/questions/9493106/, чтобы узнать, сколько работы вам придется выполнить, чтобы это сработало, и см. stackoverflow.com/questions/tagged/office-automation+asp.net в целом.   -  person John Saunders    schedule 16.03.2012


Ответы (2)


Взгляните на этот http://docx.codeplex.com/.

person Micah Armantrout    schedule 16.03.2012
comment
Можно ли без головной боли вызывать код docx со страницы aspx? Мои требования заключаются в том, чтобы открыть документ Word, отсканировать его на наличие закладок и вставить таблицы в эти закладки одним нажатием кнопки на странице aspx. - person John Baum; 16.03.2012
comment
он не написан вокруг Com, поэтому его лучше использовать в asp.net - person Micah Armantrout; 16.03.2012
comment
Похоже, DocX не поддерживает закладки, которые я вижу, проверьте это stackoverflow.com/questions/7026449/ - person Micah Armantrout; 16.03.2012

Даже Microsoft не рекомендует использовать Office Automation в ASP.net (см. этот справочник MSDN).

Возможно, вы захотите еще немного поискать здесь, на SO. Вы можете использовать библиотеку OOXML, найденную здесь. Существует также (не бесплатно) Aspose. слова.

person Bryan Crosby    schedule 16.03.2012