在朋友那儿听说 知心的你曾找过我 我要他帮我对你隐瞒 只是怕见了面会更难过……

1.

大家好,我是星光。上期咱们推送了如何让Excel控制OUTLOOK自动发邮件;链接:如何通过Excel控制outlook自动批量发送邮件?

之后有很多小伙伴提出各种问题……这让星光俺深刻的意识到……Excel和邮件这俩坏银的关系金不一般啊。

java 收取附件邮件 java发送邮件添加附件_java 收取附件邮件

2.

整理了下伙伴们的问题,基本如下:

如何将代码修改成不添加附件发送?

如何将代码修改成抄送多个人?

如何将代码修改成添加不同的附件发送?

……

……

第1个问题,如何将代码修改成不添加附件发送?

介个问题,把我们上期的代码有关附件的部分删除掉就OK。更新后代码和模版文件可以点击【阅读原文】获取。

第2个问题,如何将代码修改成抄送多人?

……把抄送人的邮箱用半角分号间隔就可以了。

比如:

.CC = "test123@;test124@;test124@"

第3个问题,如何将代码修改成添加不同的附件发送?

介个问题,可以先用Dir函数判断相关文件是否存在,如果存在则添加到邮件中……

小贴士:

本期示例代码是根据人名匹配并添加附件,例如给员工崔冰冰发送邮件,则添加代码所在工作簿的文件夹下 名称为崔冰冰 的文件。

java 收取附件邮件 java发送邮件添加附件_java 收取附件邮件_02

Sub SendMailEnvelope_2() '带不同附件    Dim avntWage As Variant    Dim i As Long    Dim strText As String    Dim objAttach As Object    Dim strFldPath As String    Dim strFileName As String    With Application        .ScreenUpdating = False        .EnableEvents = False    End With    strFldPath = ThisWorkbook.Path & "\"    '------------附件存放的文件夹路径,本例是代码所在工作簿的同一文件夹下    avntWage = Sheets("工资表").[a1].CurrentRegion    '------------工资表的数据装入数组    For i = 2 To UBound(avntWage)        [a2:i2] = Application.Index(avntWage, i)    '------------工资条信息放入a2:i2区域        [b1:i2].Select    '------------选中b1:i2作为邮件正文的表格内容        ActiveWorkbook.EnvelopeVisible = True    '------------MailEnvelope可见        With ActiveSheet.MailEnvelope            strText = avntWage(i, 2) & "您好:" & vbCrLf & "以下是您" & _                avntWage(i, 3) & "月份工资明细,请查收!"            .Introduction = strText    '------------邮件正文内容            With .Item                .To = avntWage(i, 1)    '------------收件人                .CC = "treasurer@"    '------------抄送人                .Subject = avntWage(i, 3) & "月份工资明细"    '------------主题                Set objAttach = .Attachments                Do While objAttach.Count > 0    '------------Do While语句删除可能存在的旧附件                    objAttach.Remove 1                Loop                strFileName = Dir(strFldPath & avntWage(i, 2) & "*.*")                If strFileName > "" Then                 .Attachments.Add strFldPath & strFileName    '------------如果存在指定名称的附件,则添加新附件                End If                 .send    '------------发送邮件            End With        End With    Next i    ActiveWorkbook.EnvelopeVisible = False    With Application        .ScreenUpdating = True        .EnableEvents = True    End With    Set objAttach = NothingEnd Sub