用于将Excel电子邮件ID导出到Outlook通讯组列表的宏

时间:2015-10-26 17:42:41

标签: excel vba excel-vba 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

但是在运行时,我收到一个错误,用户定义的类型没有定义。

这可以纠正,还是有更好的方法来做到这一点?

有人可以帮我这么做吗?感谢

1 个答案:

答案 0 :(得分:0)

用户定义的类型未定义错误几乎总是意味着您忘记添加引用。转到工具>>引用添加它。在您的情况下,您需要Outlook库。

要更改找到名称的列,请更改

Range("C"

引用包含名称的列。