从 Word VBA 合并邮件时如何添加邮件正文?

问题描述 投票:0回答:1

我正在尝试通过邮件合并自动处理来自 Word 的电子邮件。

Private Sub Send_EmailUsingMaiIMerge_Click()

Dim Wd_App As Word.Application
Dim Wd_Doc As Word.Document
Dim Wd_MailMerge As Word.MailMerge
Dim Data_Path As String
Dim Wd_MMFNs As Word.MailMergeFieldNames
Dim Wd_MMFN As Word.MailMergeFieldName
Dim Wd_MMDFs As Word.MailMergeDataFields
Dim Wd_MMDF As Word.MailMergeDataField

Set Wd_App = Application
Set Wd_Doc = Wd_App.Documents.Open("template.docx")
Set Wd_MailMerge = Wd_Doc.MailMerge

'Get Data Path'
Data_Path = "Sheet.xlsx"

'Give mail merge type'
Wd_MailMerge.MainDocumentType = wdFormLetters

'Lets connect to data source'
Wd_MailMerge.OpenDataSource Name:=Data_Path, SQLStatement:="SELECT * FROM [Sheet1$]"

'Lets Email using Mail Merge'
'Outlook must be open and you are connected to the internet'

Dim TotalCnt As Integer

For TotalCnt = 1 To Wd_MailMerge.DataSource.RecordCount
    Wd_MailMerge.DataSource.ActiveRecord = TotalCnt
    Wd_MailMerge.DataSource.FirstRecord = TotalCnt
    Wd_MailMerge.DataSource.LastRecord = TotalCnt
        
    'Target Mail Address Column'
    Wd_MailMerge.MailAddressFieldName = "Email"
    'Add Attachment'
    Wd_MailMerge.MailAsAttachment = True
    'Add Subject'
    Wd_MailMerge.MailSubject = "Email Subject Test"
    'Add Destination'
    Wd_MailMerge.Destination = wdSendToEmail
    
    'Execute'
    Wd_MailMerge.Execute False
    
Next TotalCnt

Wd_Doc.Close False
Set Wd_Doc = Nothing
End Sub

我可以发送批量电子邮件,但没有任何电子邮件正文。我想在发送前添加说明。

如何添加电子邮件正文或有其他方法吗?

vba email ms-word mailmerge docx-mailmerge
1个回答
0
投票

在添加附件模块只需将其设置为 False 然后它将作为电子邮件的正文发送

'Target Mail Address Column'
    Wd_MailMerge.MailAddressFieldName = "Email"
    'Add Attachment'
    Wd_MailMerge.MailAsAttachment = False
    'Add Subject'
    Wd_MailMerge.MailSubject = "Email Subject Test"
    'Add Destination'
    Wd_MailMerge.Destination = wdSendToEmail
© www.soinside.com 2019 - 2024. All rights reserved.