2011-03-30 66 views
1

我需要在Outlook VSTO項目中模仿地址簿控件。使用真正的控制將會簡單得多,不是嗎?展望VSTO是否可以使用地址簿控件?

那麼,你知道一種方法來公開地址簿控件,並獲得內部選擇嗎?

編輯:沒關係,重新創建控件的基本版本將是方式easyer。

回答

2

解決方案:第三方Redemption庫提供此功能。

RedemptionLoader.RDOSession.AddressBook.ShowAddressBook(...)

0

你並不需要使用第三方插件。你可以用這個做到這一點:

http://msdn.microsoft.com/en-us/library/office/ff868361.aspx

下面這段代碼在VBA,但你可以很容易地將其轉換爲C#:

Sub SelectRecipients() 
Dim oMsg As MailItem 
Set oMsg = Application.CreateItem(olMailItem) 
Dim oDialog As SelectNamesDialog 
Set oDialog = Application.Session.GetSelectNamesDialog 
With oDialog 
.InitialAddressList = _ 
Application.Session.GetGlobalAddressList 
.Recipients = oMsg.Recipients 
If .Display Then 
'Recipients Resolved 
oMsg.Subject = "Hello" 
oMsg.Send 
End If 
End With 
End Sub 
+0

確實,但我必須展望2003年時兼容,救贖在這個項目上多次拯救了我們的生命,值得我們花費每一分錢。 – Vinzz 2013-03-15 13:51:59

+0

另外請記住,Outlook不允許您在顯示地址簿時指定父窗口句柄,因此主窗口將位於窗口之上。使用Redemption可以在調用ShowAddressBook時傳遞父窗口句柄。 – 2013-03-15 14:45:40

+1

根據德米特里的提議,我碰到了父母窗口的問題,因爲那樣,那種糟糕的贖罪行爲肯定會更好。我遇到了其他問題試圖獲得贖回工作(根據我對這個問題的評論:http://stackoverflow.com/questions/15423081/in-my-vsto-outlook-app-why-does-calling-selectnamesdialog -display-移動-MY-FO/15423383?noredirect = 1個#comment21814413_15423383 – leora 2013-03-15 21:23:04

相關問題