基于Join MS Word documents我制作了一个控制台应用程序,将多个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
答案 0 :(得分:0)
Office应用程序不是为在服务器环境中运行而构建的 - 它们纯粹是桌面应用程序。不要从服务器上调用它们。
答案 1 :(得分:0)
如果它们是Word 2007文档,我认为您应该查看Word文件格式,看看Microsoft的文章是否有帮助:
http://msdn.microsoft.com/en-us/library/bb656295.aspx
Office Interop总是有点不稳定,在服务器上运行它是我建议的最后一件事,除非没有其他方法可以做到。
在Sharepoint环境中,也许Document Converters可以以某种方式提供帮助,虽然我对它们没有经验 - 只是暗示要看的东西。