我是新來的VBA,我需要幫助做些事情:如何從Outlook聯繫人中獲取列中列出的姓名的電子郵件地址?
如下圖所示,我有一個名稱列表。而我想要做的是從outlook聯繫人列表(根據他們在列A中的姓名)(電子郵件地址分散在不同的聯繫人文件夾中)將他們的電子郵件地址檢索並粘貼到列B中。
或者,是可能獲得從Outlook聯繫人的電子郵件地址,每個名稱和Outlook會自動發送一封電子郵件給他們,讓我可以擺脫塔B的
我是新來的VBA,我需要幫助做些事情:如何從Outlook聯繫人中獲取列中列出的姓名的電子郵件地址?
如下圖所示,我有一個名稱列表。而我想要做的是從outlook聯繫人列表(根據他們在列A中的姓名)(電子郵件地址分散在不同的聯繫人文件夾中)將他們的電子郵件地址檢索並粘貼到列B中。
或者,是可能獲得從Outlook聯繫人的電子郵件地址,每個名稱和Outlook會自動發送一封電子郵件給他們,讓我可以擺脫塔B的
此代碼假定的名字都在列A 。它進一步假定您正在使用的地址簿的名稱被命名爲「聯繫人」,並且它們根據您的圖表進行格式化。
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中轉至工具 - >地址簿。然後使用下拉列表來標識您的地址列表。用代碼中的「聯繫人」替換地址簿中存儲的地址簿的名稱。
我沒有寫這個,我發現它在Ozgrid並修改了幾件事情以適應您的情況。它可能需要調整你的應用程序。希望這會有所幫助或讓你朝着正確的方向前進。
你應該可以直接導入所有沒有任何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爲好。請查看下面的鏈接。
這一切都有可能。但要獲得這裏的幫助,您需要展示自己的努力。在某個地方啓動你的代碼,這樣你就可以聲稱會「卡住」,有人會幫你進一步去做一兩步。 – Variatus