2009-03-12 24 views
0

Join MS Word documents)に基づいて複数のワードファイルを1つにスプライスするコンソールアプリケーションを作成しました。今私はSharePointのワークフローから同じことをしたいと思います。要するに、それは失敗する前に私のコードは次のようになります。SharePointワークフローからWordを実行

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を()に達したとき、私は私が唯一のワークフロー実行なし他の1つのインスタンスを持っているにもかかわらず、次の例外がスローされていますWordのインスタンスがサーバー上で実行されています。

メッセージフィルタは、アプリケーションがビジー状態であることを示しています。 (HRESULTからの例外:0x8001010A(RPC_E_SERVERCALL_RETRYLATER))

このエラーはなぜ発生しますか?何がアプリケーションをビジーにするでしょうか?

乾杯

ニック

答えて

0

彼らはWord 2007件の文書であれば、私はあなたがWordのファイル形式に見て、マイクロソフトからの記事が役立ちますかどうかを確認すべきだと思う:

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

Officeの相互運用が常に少し不安定であり、実行していますそれをサーバー上に置くことは、本当に他の方法がない限り、私が推奨する最後のことです。

Sharepoint環境では、おそらくDocument Convertersが何らかの助けになるかもしれませんが、私はそれらの経験はありません - 見るべきことのヒントと同じです。

+0

残念ながら、それらはすべてOffice 2007のドキュメントではなく、ほとんどが2003年です。ドキュメントコンバータのおかげでありがとうございました。 –

+0

Migration Planning Manager(http://tinyurl.com/tdt6r)は、文書をWord 2007に変換してから、Office Open XML SDKルートに移行するのに適していますか? –

+0

私はいつもOffice 2007でそれらを開いて再保存する必要があったので、既存のドキュメントを2007年に移行した経験はありませんが、Office 2007ではなく、それはオプションではないでしょう。私はあなたがバッチ変換することができますかどうかわからない2007年にツールを使用して:/ –

0

は、Officeアプリケーションは、サーバー環境で実行するように構築されていない - 彼らは純粋にデスクトップアプリケーションです。それらをサーバーから呼び出さないでください。