天天看點

java 代碼發送郵件添加附件_如何使Excel控制OUTLOOK自動添加不同的附件并發送?...

在朋友那兒聽說 知心的你曾找過我 我要他幫我對你隐瞞 隻是怕見了面會更難過……

1.

大家好,我是星光。上期咱們推送了如何讓Excel控制OUTLOOK自動發郵件;連結:如何通過Excel控制outlook自動批量發送郵件?

之後有很多小夥伴提出各種問題……這讓星光俺深刻的意識到……Excel和郵件這倆壞銀的關系金不一般啊。

java 代碼發送郵件添加附件_如何使Excel控制OUTLOOK自動添加不同的附件并發送?...

2.

整理了下夥伴們的問題,基本如下:

如何将代碼修改成不添加附件發送?

如何将代碼修改成抄送多個人?

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

……

……

第1個問題,如何将代碼修改成不添加附件發送?

介個問題,把我們上期的代碼有關附件的部分删除掉就OK。更新後代碼和模版檔案可以點選【閱讀原文】擷取。

第2個問題,如何将代碼修改成抄送多人?

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

比如:

.CC = "[email protected];[email protected];[email protected]"

第3個問題,如何将代碼修改成添加不同的附件發送?

介個問題,可以先用Dir函數判斷相關檔案是否存在,如果存在則添加到郵件中……

小貼士:

本期示例代碼是根據人名比對并添加附件,例如給員工崔冰冰發送郵件,則添加代碼所在工作簿的檔案夾下 名稱為崔冰冰 的檔案。

java 代碼發送郵件添加附件_如何使Excel控制OUTLOOK自動添加不同的附件并發送?...
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 = "[email protected]"    '------------抄送人                .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
           

代碼解析見注釋。

如果你還不懂得如何運作VBA代碼,可以參考:如何運作VBA代碼?其實很簡單!

更多資源和教程

  • 零基礎學SQL in Excel 25篇合集
  • VBA愛好者請進,VBA代碼寶概述

©EH看見星光

java 代碼發送郵件添加附件_如何使Excel控制OUTLOOK自動添加不同的附件并發送?...

《VBA經典代碼應用大全》 當當、天貓、京東均有銷售~