2017-08-05 11 views
2

私はVBAの初心者です。何か助けが必要です。列に記載されている名前のOutlookの連絡先から電子メールアドレスを取得するにはどうすればよいですか?

以下の図に示すように、私は名前のリストを持っています。私がしたいのは、Outlookの連絡先リスト(電子メールアドレスが別の連絡先フォルダに散在している)から列Aの名前に基づいて電子メールアドレスを取得し、列Bに貼り付けることです。

または、私は列Bを取り除くことができるように

enter image description here

+0

すべて可能です。しかし、ここで助けを受ける資格を得るには、自分の努力を示す必要があります。どこかでコードを始めると、「固まっている」と主張でき、誰かがあなたに1〜2歩先を進める手助けをします。 – Variatus

答えて

2

このコードは、名前が列Aにあると仮定し、それぞれの名前のために、Outlookの連絡先からの電子メールアドレスを取得し、Outlookで自動的に電子メールを送信することも可能あなたがタップしているアドレス帳の名前は「連絡先」と名前が付けられていて、それらの名前はあなたの図に従ってフォーマットされているものとします。

Option Explicit 
Private Sub GetAddresses() 
Dim o, AddressList, AddressEntry 
Dim c As Range, r As Range, AddressName As String 
Set o = CreateObject("Outlook.Application") 
Set AddressList = o.Session.AddressLists("Contacts") 
'Change this range accordingly 
Set r = Range("A1:A25") 
    For Each c In r 
    AddressName = c.Value 
    For Each AddressEntry In AddressList.AddressEntries 
     If AddressEntry.Name = AddressName Then 
      c.Offset(0, 1).Value = AddressEntry.Address 
      Exit For 
     End If 
    Next AddressEntry 
    Next c 
End Sub 

アドレスがグローバルアドレス一覧にある場合、Outlookでは、[ツール] - > [アドレス帳]に移動します。次に、ドロップダウンリストを使用してアドレスがどのリストにあるかを特定します。コード内の「連絡先」を住所が格納されているアドレス帳の名前に置き換えます。

これを書いていませんでしたあなたの状況に合わせていくつか修正しました。あなたのアプリケーションにはちょっとした調整が必要かもしれません。これがほしいと思うか、あなたが正しい方向に向かうことを望みます。

-1

VBAコードを一切使用せずにすべての連絡先をインポートするだけで済みます。これを行う方法を説明するリンクがあります。

https://www.ablebits.com/office-addins-blog/2014/06/12/import-contacts-excel-outlook/

https://www.extendoffice.com/documents/outlook/1116-outlook-export-contact-to-excel.html

あなたにもGALをフックに興味があるかもしれません。下のリンクをチェックしてください。

http://www.cumc.columbia.edu/it/howto/email/gal.html

関連する問題