【发布时间】:2020-06-24 04:06:13
【问题描述】:
我想问是否有办法从用户表单文本框中输入的值中从 Outlook 通讯簿中检索电子邮件地址并检索它。
例如,我的 textbox1 让用户输入他们想要搜索的人的全名,并使用搜索按钮,textbox2 将根据 textbox1 从 Outlook 通讯录中检索所有电子邮件地址。
目前我所拥有的是一个模块调用检索电子邮件
Option Explicit
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")
'Chage this range to include the first names only. AddressName assignment line handles concatenating the last name.
Set r = Add.Emailname
For Each c In r
AddressName = c.Value & " " & c.Offset(0, 1).Value
For Each AddressEntry In AddressList.AddressEntries
If AddressEntry.name = AddressName Then
c.Offset(0, 2).Value = AddressEntry.Address
Exit For
End If
Next AddressEntry
Next c
End Sub
在我的用户表单中,搜索按钮
Private Sub Searchbutton_Click()
Call GetAddresses
End Sub
代码是我从网上看到的。谁能帮我编辑和指导我?
【问题讨论】:
-
不清楚您要做什么。
the values enter in user form textbox?如果你展示你所拥有的和你正在尝试做的事情的例子,也许会有所帮助。 -
嗨@ashleedawg,例如在userform textbox1中,用户输入姓名,Tom,James,然后当我点击搜索按钮时,textbox2将具有来自地址框中的电子邮件地址的结果展望未来。
-
我认为您在使用 Sue Mosher 的
ResolveDisplayNameToSMTP功能。我找不到原始网站,但这是该网站上的链接:Creating a “Check Names” button in Excel