【问题标题】:Running Word from a SharePoint Workflow从 SharePoint 工作流运行 Word
【发布时间】:2009-03-12 14:23:03
【问题描述】:

基于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))

为什么会出现这个错误??什么会使应用程序忙碌?

干杯

尼克

【问题讨论】:

    标签: .net sharepoint interop workflow ms-word


    【解决方案1】:

    如果它们是 Word 2007 文档,我认为您应该查看 Word 文件格式,看看 Microsoft 的文章是否有帮助:

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

    Office Interop 总是有点不稳定,我不建议在服务器上运行它,除非真的没有其他方法可以做到。

    在 Sharepoint 环境中,Document Converters 可能会有所帮助,尽管我没有使用过它们的经验 - 只是作为一些可以查看的提示。

    【讨论】:

    • 很遗憾,它们并非所有 Office 2007 文档,其中大部分是 2003。感谢文档转换器链接,我一定会通读。
    • 迁移计划管理器 (tinyurl.com/tdt6r) 是否是将文档转换为 Word 2007 并采用 Office Open XML SDK 路线的好方法?
    • 我没有将现有文档迁移到 2007 的经验,因为我总是只需要在 Office 2007 中打开并重新保存它们,但如果您的用户还不是 Office 2007,那将不是无论如何选择。我不知道您是否可以使用任何工具将文档批量转换为 2007:/
    【解决方案2】:

    Office 应用程序不是为在服务器环境中运行而构建的 - 它们是纯粹的桌面应用程序。不要从服务器调用它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-10
      • 2010-10-08
      • 1970-01-01
      • 1970-01-01
      • 2017-10-12
      • 1970-01-01
      相关资源
      最近更新 更多