【问题标题】:COM Exception in Application应用程序中的 COM 异常
【发布时间】:2015-02-09 09:28:26
【问题描述】:

我正在尝试升级一个内部应用程序,基础架构将从 2008 年迁移到 windows server 2012 年。该应用程序从模型模板构建演示文稿。

我不断收到附加的 COM 异常,看起来与 Interops 相关,有没有人遇到过类似的事情。

PowerPages (Office 14.0)

文档:模型.ppt

命令:{SET PrevPeriodEnd user.PreviousPeriodEnd(PGFromDate)}

错误:

~~ 调用堆栈页面 6.9.1 (Build 021)~~

未找到成员。 (来自 HRESULT 的异常:0x80020003 (DISP_E_MEMBERNOTFOUND))

堆栈跟踪:

在 Microsoft.Office.Interop.Word.ApplicationClass.Run(String MacroName, Object& varg1, Object& varg2, Object& varg3, Object& varg4, Object& varg5, Object& varg6, Object& varg7, Object& varg8, Object& varg9, Object& varg10, Object& varg11, Object& varg12, Object& varg13, Object& varg14, Object& varg15, Object& varg16, Object& varg17, Object& varg18, Object& varg19, Object& varg20, Object& varg21, Object& varg22, Object& varg23, Object& varg24, Object& varg25, Object& varg26,对象& varg28, 对象& varg29, 对象& varg30)

在 Pages.PowerPages.Evaluate.DoEvaluate(Collection cExpression)

在 Pages.PowerPages.Evaluate.Eval(String sExpression)

在 Pages.PowerPages.Commands.HandleSet(String& sStr, Shape& oShape, TextRange& oRange)

在 Pages.PowerPages.ProcessFile.ProcessShape(Presentation& oPresentation, Shape& shp, String& sOpenStr, String& sCloseStr, Boolean& bExit, Int32& nSlideID, Int32& nSlidesToReset, Boolean& bAgenda)

在 Pages.PowerPages.ProcessFile.ProcessPresentation(Presentation& oPresentation, String& sOpenStr, String& sCloseStr, Boolean& BMaster, Boolean& bAgenda)

在 Pages.PowerPages.modAmain.GenerateModel(String[]& aSelectedComponent, Boolean& bNormal)

在 Pages.PowerPages.modAmain.Generate2(Boolean bJobRun)

在 Pages.PowerPages.ComPowerPoint.Generate(String sThreadID, Int32 nJobID, String sPortcode, String sManager, String sBusinessUnit, Int32 nJobAccountStatusID, Object oBatch, String sOutputFolder, Application oPowerPointApp)

~~~~附加信息~~~~

异常类型:COMException

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

计算机数据:

操作系统名称:Microsoft Windows Server 2012 R2 Standard

版本:6.2.9200.0

平台:Win32NT

物理内存 - 总数:4294430720,可用:2845433856

虚拟内存 - 总数:2147352576,可用:1652203520

【问题讨论】:

    标签: comexception interopservices


    【解决方案1】:

    两种(明显的)可能性:

    word 安装了吗?看起来任何调用powerpoint的东西也调用word。

    您的应用程序是否作为 32 位应用程序运行? 2008 可以作为 32 位操作系统运行,但 2012R2 是 64 位,您可能需要将所有内容标记为 32 位。 (我认为您可以使用 CorFlag.exe 来强制执行此操作)

    【讨论】:

    • 嗨,是的,完整的办公室已安装并且文件在正确的位置可用。我相信一切都以 64 位运行
    • 老实说,我很想尝试 32 位的一切。
    • 抱歉,一切都是 32 位的。
    • 再猜测一下,看起来好像正在运行一个宏,这就是实际的失败(所以这个词可能正在开始)。您是否尝试过与 ss&c tech 交谈(假设我搜索了正确的产品)?
    • 谢谢,我想我已经解决了,名为模板的宏位于 Office 的过时版本中(.dot 和必需的 .dotm。)
    【解决方案2】:

    谢谢,我想我已经解决了,名为模板的宏位于 Office 的过时版本中(.dot 和必需的 .dotm。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多