Запуск Word из рабочего процесса SharePoint - PullRequest
0 голосов
/ 12 марта 2009

на основе Присоединение документов MS Word Я создал консольное приложение, которое объединяет несколько файлов слов в один. Теперь я хочу сделать то же самое из рабочего процесса в SharePoint. Короче говоря, мой код до его сбоя выглядит так:

object oMissing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.ApplicationClass oWord = new Microsoft.Office.Interop.Word.ApplicationClass();
Microsoft.Office.Interop.Word._Document oDoc = null;
oWord.Visible = false;
Microsoft.Office.Interop.Word.Documents oDocs = oWord.Documents;
object oFile = tmpFileName;
oDoc = oDocs.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
oDoc.Activate();

Когда я достигаю oDoc.Activate (), я получаю следующее исключение, даже если у меня работает только один экземпляр рабочего процесса, а другие экземпляры Word не запущены на сервере:

Фильтр сообщений показал, что приложение занято. (Исключение из HRESULT: 0x8001010A (RPC_E_SERVERCALL_RETRYLATER))

Почему я получаю эту ошибку ?? Что бы сделать приложение занятым?

Приветствия

Nik

Ответы [ 2 ]

0 голосов
/ 12 марта 2009

Если они являются документами Word 2007, я думаю, что вам следует изучить форматы файлов Word и посмотреть, поможет ли статья от Microsoft:

http://msdn.microsoft.com/en-us/library/bb656295.aspx

Office Interop всегда немного нестабилен, и запускать его на сервере - это последнее, что я бы порекомендовал, если нет другого способа сделать это.

В среде Sharepoint, возможно, конвертеры документов могут как-то помочь, хотя у меня нет с ними опыта - просто как подсказка на что-то посмотреть.

0 голосов
/ 12 марта 2009

Приложения Office не созданы для работы в серверной среде - это чисто настольные приложения. Не звоните им с сервера.

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