使用来自 Excel 的通用邮件模板编写批量电子邮件,该模板具有唯一 ID,该 ID 必须写入邮件模板中的某个位置 [已关闭]

write bulk email with a common mail template from excel with unique id that must be written at a certain place in the mail template [closed]

提问人:Uzumaki 提问时间:10/4/2023 更新时间:10/4/2023 访问量:51

问:


我们不允许向读者、工具、软件库等寻求推荐的问题。您可以编辑问题,以便用事实和引文来回答。

上个月关闭。

要使用包含 Excel 工作表中唯一 ID 的通用邮件模板发送批量电子邮件,您可以使用 Excel 和电子邮件客户端(即 outlook)的组合

  • 某个人的邮件在工作表的 E 列中,必须包含的 ID 在 F 列中
  • 我还想在 CC 中添加某个人,并在每封邮件中附加一个通用的 docx 文件
Excel VBA 电子邮件 excel-公式 Outlook

评论


答:

1赞 Harun24hr 10/4/2023 #1

您可以使用以下 sub 发送批量邮件。根据您的需要调整代码。您可以使用方法将变量的特定人员信息包含在电子邮件正文中。OFFSET()emailCell

Option Explicit

Public Sub SendMail()
On Error GoTo HarunErrHandler
Dim strbody As String
Dim sendTo As String
Dim emailCell As Range
Dim OutApp As Object
Dim OutMail As Object
Dim SalaryMonth, strMailRange As String

    strMailRange = Sheets("Sheet1").Range("$E$2").End(xlDown).Address

    Set OutApp = CreateObject("Outlook.Application")        
    For Each emailCell In Sheets("Sheet1").Range("$E$2", strMailRange)
    Set OutMail = OutApp.CreateItem(0)
    
    strbody = "Hello " & emailCell & ",<br>Please check the attached file and update us."
        
        With OutMail
'           .BodyFormat = olFormatHTML
            .Display
            .Attachments.Add ThisWorkbook.Path & "\MyFolder\" & "myFileName" & ".docx"
            .To = emailCell.Value
            .CC = "[email protected];[email protected]"
            .Subject = "Sending Bulk Email."
            .HTMLBody = strbody & vbNewLine & .HTMLBody
            '.Send
        End With
            
    Next emailCell
        
Exit Sub
HarunErrHandler:
MsgBox "Error :" & Err.Number & ", " & Err.Description, vbInformation, "Error"
End Sub

评论

1赞 Nick.Mc 10/4/2023
我可以建议你不要创建一个全新的内部循环实例吗?只在循环外创建一次似乎是有意义的。Outlook.Application
0赞 Harun24hr 10/4/2023
@Nick.Mc 好建议。我正在修改答案。