【问题标题】:Comexception without error codeComexception 没有错误代码
【发布时间】:2014-03-07 06:43:30
【问题描述】:

我正在自动创建 ppt。 SaveAs 方法正在引发异常。异常消息是:

演示文稿(未知成员):在 PowerPoint 运行时发生错误 保存文件。

这是截图

我无法从中找到错误代码。有人可以帮我吗?

注意:我使用的是 Windows 7 - 64 位

【问题讨论】:

  • 请不要在问题标题中包含有关所用语言的信息,除非没有它就没有意义。标记用于此目的。
  • 点击第一个链接,您必须记录 HRESULT。

标签: .net visual-studio-2010 c#-4.0


【解决方案1】:

在我给你一些关于获取该错误代码的提示之前,我在 Microsoft 支持网站上找到了以下内容:

微软目前不推荐也不支持, 无人值守的 Microsoft Office 应用程序自动化, 非交互式客户端应用程序或组件(包括 ASP、 ASP.NET、DCOM 和 NT 服务),因为 Office 可能表现出不稳定 Office 在此环境中运行时出现的行为和/或死锁。

参考:http://support.microsoft.com/kb/257757

要获取最后一个错误,您可以使用: System.Runtime.InteropServices.Marshal.GetLastWin32Error()

http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.getlastwin32error.aspx

由于您正在尝试获取代码,这可能非常有效:
System.Runtime.InteropServices.Marshal.GetExceptionCode()

http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.getexceptioncode(v=vs.110).aspx

您可能必须使用 PInvoke:

http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.setlasterror.aspx

这是一个 SO 线程很好地解释了需要做什么。那里的示例可能与您的代码不同,但它提供了一个很好的参考点。不幸的是,我在您的屏幕截图中没有看到足够多的代码:

https://stackoverflow.com/a/17918729/2006048

【讨论】:

    猜你喜欢
    • 2020-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-14
    • 1970-01-01
    • 2016-01-04
    • 1970-01-01
    相关资源
    最近更新 更多