使用Application.Open()打开权限管理文件时出现异常HRESULT:0x800A03EC

时间:2015-05-05 02:09:13

标签: c# excel vsto add-in drm

我有一个使用VSTO开发的Office 2013 Excel加载项和受Azure Rights Management System保护的RMS文件。当我使用加载项打开RMS文件时,如下所示:

Application.Workbooks.Open(FilePath,Type.Missing,Type.Missing,Type.Missing,
                       Type.Missing,Type.Missing,Type.Missing,Type.Missing,
                       Type.Missing,Type.Missing,Type.Missing,Type.Missing,
                       Type.Missing,Type.Missing,Type.Missing);

我得到例外:

  

类型' System.Runtime.InteropServices.COMException'的例外情况   发生在XXXXX.dll中但未在用户代码中处理

     

来自 HRESULT:0x800A03EC

的例外情况

有谁知道为什么我会收到这个例外?我查找了有关此错误代码的信息,但无法找到与我的情况相关的信息。

1 个答案:

答案 0 :(得分:0)

我找到了回答我自己的问题。使用Microsoft.Office.Interop.Excel.Workbooks.Open()打开RMS文件时,您必须使用有权打开该文件的用户登录Excel。仅供参考,这适用于PowerPoint。 PowerPoint抛出HRESULT E_FAIL。 Word是一个例外。但是,Word是一个例外。如果您没有登录,Word提示您获取凭证,在提供有效凭证后,它会正常打开。我不知道为什么这些应用程序表现不同。