Outlookから配信リストを利用して定型書簡を作成できない(選択できない)ため、配信リストの連絡先から連絡先情報を読み取りたいです。
API によると、ContactItem を取得するか、プロパティ アクセサーを使用してプロパティを読み取ることができるはずです。どちらも機能しません。簡単な方法は、連絡先の名前 (これは AddressEntry から読み取ることができます) だけを読み取り、Outlook のアドレス帳で検索することです。しかし、これは面倒で、エラーが発生しやすいと思います。
以下の私のテストコードを参照してください。GetContact() と GetProperty() の両方が機能しません。
名、勤務先住所などの連絡先の詳細を取得する別の方法はありますか?
Option Explicit
Sub test()
Dim myOlExp As Outlook.Explorer
Dim myOlSel As Outlook.Selection
Dim myOlDistList As Outlook.DistListItem
Dim nrListItems As Integer
Dim myRecipient As Outlook.Recipient
Dim myAddressEntry As Outlook.AddressEntry
Dim myContactItem As Outlook.ContactItem
Dim myPropertyAccessor As Outlook.propertyAccessor
Dim givenName As String
Set myOlExp = Application.ActiveExplorer
Set myOlSel = myOlExp.Selection
Set myOlDistList = myOlSel.Item(1)
For nrListItems = 1 To myOlDistList.MemberCount
Set myRecipient = myOlDistList.GetMember(nrListItems)
Set myAddressEntry = myRecipient.AddressEntry
' does not work
Set myContactItem = myAddressEntry.GetContact
Set myPropertyAccessor = myAddressEntry.propertyAccessor
' does also not work
givenName = myPropertyAccessor.GetProperty("urn:schemas:contacts:givenName")
Next nrListItems
End Sub