2011-03-30 3 views
1

Outlook VSTO 프로젝트에서 주소록 컨트롤을 모방해야합니다. 실제 컨트롤을 사용하는 것이 훨씬 간단합니다. 그렇지 않습니까?Outlook VSTO를 사용하면 주소록 컨트롤을 사용할 수 있습니까?

그렇다면 주소록 컨트롤을 노출하는 방법을 알고 있습니까? 물론 선택한 내용을 얻을 수 있습니까?

편집 : 신경 쓰지 마세요, 컨트롤의 기본 버전을 만드는 것은 쉬운 방법입니다.

답변

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

,하지만 난 시간에 의해 준수 Outlook 2003을해야했다 , 구속은이 프로젝트에서 우리가 소비 한 모든 가치가있는 많은 경우에 우리의 삶을 구해주었습니다. – Vinzz

+0

또한 Outlook에서는 주소록을 표시 할 때 부모 창 핸들을 지정할 수 없으므로 기본 Outlook 창이 사용자 창 상단에 표시됩니다. Redemption을 사용하면 ShowAddressBook을 호출 할 때 부모 창 핸들을 전달할 수 있습니다. –

+1

Dmitry 's commment에 따르면, 나는 부모 창 문제에 부딪혔다. 어떤 냄새가 나는가? 그래서 그것 때문에 구원이 확실히 좋은 플레이이다. Redemption을 작동 시키려고하는 다른 문제 (이 질문에 대한 내 의견대로 : http://stackoverflow.com/questions/15423081/in-my-vsto-outlook-app-why-does-calling-selectnamesdialog)를 실행 중입니다. -display-moves-my-fo/15423383? noredirect = 1 # comment21814413_15423383 – leora

관련 문제