我有一个使用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
的例外情况
有谁知道为什么我会收到这个例外?我查找了有关此错误代码的信息,但无法找到与我的情况相关的信息。
答案 0 :(得分:0)
我找到了回答我自己的问题。使用Microsoft.Office.Interop.Excel.Workbooks.Open()打开RMS文件时,您必须使用有权打开该文件的用户登录Excel。仅供参考,这适用于PowerPoint。 PowerPoint抛出HRESULT E_FAIL。 Word是一个例外。但是,Word是一个例外。如果您没有登录,Word提示您获取凭证,在提供有效凭证后,它会正常打开。我不知道为什么这些应用程序表现不同。