导出excel电子邮件id到outlook通讯组列表的宏



是否有办法编写一个宏,导出电子邮件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"

相关内容

最新更新