我正在尝试在 Windows XP SP3 和 Internet Explorer 7 上使用 Visual Studio 2008 制作 Outlook 2003 加载项。
我的加载项正在使用自定义文件夹主页,该主页显示我的自定义表单,其中包含 Outlook 视图控件。
每次尝试设置 OVC 的文件夹属性时,我都会收到带有“HRESULT 中的异常:0xXXXXXXXX”描述的 COM 异常。错误码是一个随机数,每次都不一样。这不是第一次访问控件的属性,在此之前,已经设置了 View 和 ViewXML 属性。控件被标记为安全的脚本。
我正在使用活动资源管理器的 CurrentFolder.FolderPath 属性的值,这似乎是正确的:
Outlook.Explorer currentExplorer = app.ActiveExplorer();
if (currentExplorer != null)
{
ovcWrapper.Folder = currentExplorer.CurrentFolder.FolderPath;
}
这是堆栈跟踪的顶部:
System.Runtime.InteropServices.COMException (0xXXXXXXXX): Exception from HRESULT: 0xXXXXXXXX
at Microsoft.Office.Interop.OutlookViewCtl.ViewCtlClass.set_Folder(String pVal)
at AxMicrosoft.Office.Interop.OutlookViewCtl.AxViewCtl.set_Folder(String value)..
仅当文件夹位于非默认 PST 文件中时才会发生这种情况。更改为默认 PST 文件中的文件夹不会产生异常。
我必须强调,在我去度假之前一切都很好:)。我不在时,Windows XP 似乎安装了一些更新,这些更新改变了 Internet Explorer 或 Outlook 2003 的默认安全性。
在另一台(虚拟机)上安装了 Office 2007 和 Internet Explorer 6,没有任何更新,一切正常。