[c#] 嵌入的Outlook視圖控制


Answers

Dobri Dan,nency :)

我不知道我是否真的可以提供一個“銀彈”解決方案給予這裡的信息...但這裡有一些想法/筆記試用:

在過去的幾個項目上與Outlook合作過,我可以告訴你,當給予/授予對外部用戶/進程的訪問權時,這是一個有趣的鳥。 它有時需要用戶手動確認訪問或登錄...所以確保你有

app.Session.Logon() 

照顧的地方。

我注意到的另一件事是使用app.ActiveExplorer()確定這個函數返回到你想像的那樣; 它需要在用戶的桌面上的最上面的窗口...這通常是, 但不是總是你正在嘗試使用的窗口,所以只需雙擊。

Question

我正在嘗試在Windows XP SP3和Internet Explorer 7上使用Visual Studio 2008製作Outlook 2003加載項。

我的加載項使用自定義文件夾主頁,它顯示我的自定義窗體,它包裝Outlook視圖控制。

每次嘗試設置OVC的Folder屬性時,都會收到COM異常,並顯示“HRESULT異常:0xXXXXXXXX”說明。 錯誤代碼是一個隨機數,每次都是不同的。 這不是第一次訪問控件的屬性,在此之前,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,沒有任何更新,一切正常工作。