应用程序中的COM异常

时间:2015-02-09 09:28:26

标签: comexception interopservices

我试图升级内部应用程序,基础设施将从2008年转移到Windows Server 2012.该应用程序从模型模板构建演示文稿。

我一直得到附加的COM Exception,看起来与Interops有关,有没有人遇到过类似的东西。

PowerPages(Office 14.0)

文件:Model.ppt

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

错误:

~~调用堆栈页面6.9.1(构建021)~~

未找到会员。 (HRESULT异常:0x80020003(DISP_E_MEMBERNOTFOUND))

堆栈追踪:

at 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& amp; ; varg21,Object& varg22,Object& varg23,Object& varg24,Object& varg25,Object& varg26,Object& varg27,Object& varg28,Object& varg29,Object& varg30)

在Pages.PowerPages.Evaluate.DoEvaluate(集合cExpression)

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

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

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

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

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

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

at 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标准

版本:6.2.9200.0

平台:Win32NT

物理记忆 - 总数:4294430720,可用:2845433856

虚拟记忆 - 总计:2147352576,可用:1652203520

2 个答案:

答案 0 :(得分:1)

两种(显而易见的)可能性:

是否安装了字?看起来无论是什么呼叫powerpoint也在呼叫单词。

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

答案 1 :(得分:0)

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