是否有办法编写一个宏,导出电子邮件ID列从excel表outlook分布列表?
理想情况下,我希望每次宏运行时都用新的分发列表替换旧的分发列表。
以下是我一直在尝试的,
Public Sub DistributionList()
Dim objOutlook As New Outlook.Application
Dim objNameSpace As Outlook.Namespace
Dim objDistList As Outlook.DistListItem
Dim objMail As Outlook.MailItem
Dim objRecipients As Outlook.Recipients
Set objNameSpace = objOutlook.GetNamespace("MAPI")
Set objDistList = objOutlook.CreateItem(olDistributionListItem)
Set objMail = objOutlook.CreateItem(olMailItem)
Set objRecipients = objMail.Recipients
objDistList.DLName = InputBox("Enter name of Distribution List")
For i = 1 To Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
objRecipients.Add (Range("C" & i).Value)
Next i
objDistList.AddMembers objRecipients
objDistList.Display
objRecipients.ResolveAll
Set objOutlook = Nothing
Set objNameSpace = Nothing
Set objDistList = Nothing
Set objMail = Nothing
Set objRecipients = Nothing
End Sub
但是在运行这个时,我得到一个错误,用户定义的类型没有定义。
这是可以纠正的还是有更好的方法来做到这一点?
有谁能帮我做这件事吗?由于用户定义类型未定义错误几乎总是意味着您忘记添加引用。在tools>> references下添加它。在您的情况下,您需要Outlook库。
要更改查找名称的列,请更改
Range("C"