|
我用下面的方法,能做到批量发送邮件了,但是我实际要应用的电脑上outlook的账户有多个,而且不能删除
不能换机器,在这个机器上下面的方法就不管用了,我把要发邮件的账号设置成默认,也不能发出来。
那位大侠能帮我改一下,或者告诉我那个位置能够设置指定的账户?
叩谢了Orz
-------------------------------------------------------------------------------------------------------
利用Outlook和Excel,就能轻松搞定。来体验—下吧!
第一步:邮箱设置
以163邮箱为例。启动Office Outlook 2003,执行“工具→电子邮件账户”,选择“添加新电子邮件账户”,点击“下一步”;选择“服务器类型”为“POP3”,点击“下一步”;在账号设置对话框中设置“用户信息、登录信息、服务器信息”。点击“下一步”;点选发送服务器活页夹,选择“我的发送服务器(SMTP)要求验证”,点击“确定”;最后测试账户的有效性并点击“完成”即可。
第二步:建立Excel文档
1.为保证后面的“邮件群发”宏代码正确运行,需要执行“工具→宏→Visual Basic编辑器”,将“工具→引用→Microseft Outlook*.0 Object Library(其中*为Microseft Outlook的版本号)选上”。
2.建立含不同邮件地址、主题、内容及附件的Excel文档,其中附件用插入超链接的方法完成。
第三步:编辑“邮件群发”宏
执行“工具→宏→Visual Basic编辑器”,单击“锸入→模块”插入一个模块,在“工程”窗口中双击插入的模块,打开它的代码窗口,并在输入以下代码后关闭代码窗口。
Sub邮件群发()
(一)
Sub 批量发送邮件()
'要能正确发送并需要对Microseft Outlook进行有效配置
On Error Resume Next
Dim rowCount, endRowNo
'要正常运行下面这句,要将工具/引用中的Microseft Outlook *.0 Object Library(其中*为你Microseft Outlook的版本号)选上
Dim objOutlook As New Outlook.Application
Dim objMail As MailItem
'取得当前工作表与Cells(1,1)相连的数据区行数
endRowNo = Cells(1, 1).CurrentRegion.Rows.Count
'创建objOutlook为Outlook应用程序对象
Set objOutlook = New Outlook.Application
'开始循环发送电子邮件
For rowCount = 2 To endRowNo
'创建objMail为一个邮件对象
Set objMail = objOutlook.CreateItem(olMailItem)
With objMail
'设置收件人地址(从通讯录表的'E-mail地址'字段中获得)
.To = Cells(rowCount, 1)
'设置邮件主题
.Subject = Cells(rowCount, 2)
'设置邮件内容(从通讯录表的'内容'字段中获得)
.Body = Cells(rowCount, 3)
'设置附件(从通讯录表的'附件'字段中获得)
.Attachments.Add Cells(rowCount, 4)
'自动发送邮件
.Send
End With
'销毁objMail对象
Set objMail = Nothing
Next
End Sub |
|