2013-10-30 22 views
1

我使用c#開發了Outlook的VSTO加載項。在這個加載項中,我想以編程方式選擇一個公用文件夾並將用戶導航到它。我使用該生產線是:在Outlook文件夾視圖(VSTO)中選擇文件夾自動滾動到選擇

_application.ActiveExplorer().CurrentFolder = projectFolder; 

這成功地顯示文件夾的內容,並突出在「文件夾列表」樹中的文件夾,但它不會自動滾動文件夾列表下來,讓所選擇的文件夾在屏幕上可見。

在之前的項目中,我使用了相同的代碼行(但在VB6 COM加載項中)。

Set objOutlook.ActiveExplorer.CurrentFolder = mapDestFolder 

在這種情況下,它確實滾動如所期望的文件夾視圖。

兩個插件之上的是在Outlook 2007中

運行有什麼辦法選擇使用VSTO加載所需的文件夾時,我可以得到它滾動文件夾視圖?

回答

0

你必須建立CurrentFolder前添加一行,如下所示:

objOutlook.ActiveExplorer.Activate # This is what you need to add to your code. 
Set objOutlook.ActiveExplorer.CurrentFolder = mapDestFolder 

ActiveExplorer.Activate將做好的焦點就轉移到ActiveExplorer的伎倆。 當您在另一行中設置CurrentFolder時,它將自動滾動到您指定的文件夾。

+0

當觸發文件夾選擇的用戶界面位於與Outlook不同的對話框中時,這似乎可行(在Outlook 2007和2016中)。但是,當觸發文件夾選擇的UI是Outlook(2016)功能區的一部分時,文件夾視圖仍然不會滾動。用於在Outlook 2007中運行相同的插件時正常工作。 – Jimmy

0

我也有同樣的問題,除了設置CurrentFolder屬性以外沒有什麼特別的工作。 我似乎記得當CurrentFolder被設置時,問題就在於此。

在我的代碼中,Explorer.CurrentFolder被設置爲最後。 因此,請最後嘗試設置Explorer.CurrentFolder。