有没有办法编写一个将电子邮件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
但是在运行时,我收到一个错误,用户定义的类型没有定义。
这可以纠正,还是有更好的方法来做到这一点?
有人可以帮我这么做吗?感谢
答案 0 :(得分:0)
用户定义的类型未定义错误几乎总是意味着您忘记添加引用。转到工具>>引用添加它。在您的情况下,您需要Outlook库。
要更改找到名称的列,请更改
Range("C"
引用包含名称的列。