工作需要,每个月都要群发邮件给不同team,邮件主题,cc信息等都根据team划分不同。手工发送经常用掉我大半时间,并且可能会有出错情况,想着还是写个小工具节省一些时间。
首先,需要在VBA 中添加Outlook的组件: Tools > References, 勾选”Microsoft Office 16.0 Object Library。截图如下:
设想是发送不同邮件给不同的人,并且添加的附件也不一样,因此在excel中,建立以下几项:
A1: Receiver Address #收件人邮箱,多个收件人可用 ; 分开
B1: CC Address #抄送人邮箱
C1: Subject #邮件主题
D1:Content #邮件内容(选填),内容少可简单填写,或在VBA中输入
E1:Attachment # 附件的绝对路径
设置好后,就可以开始输入代码,完整代码如下:
Sub monthly_brief()
Dim outlookApp As Outlook.Application
Dim myMail As Outlook.MailItem
Dim sh As Worksheet
Dim cell, Filecell, rng As Range
Dim source_file, to_emails<