[英]Edit Outlook email from Excel VBA
我有下面的代碼可以成功使用預制的 Outlook 模板,該模板保存在我的機器本地(文件名)並將活動 Excel 文檔附加到其中,但是我想添加一些額外的文本電子郵件模板,以節省我復制和粘貼的時間。 無論如何,是否可以將附加正文添加到預先制作的電子郵件模板中,或者我是否可以讓我的 VBA 代碼讀取正文,然后我可以通過將其存儲在臨時變量中來添加它? 這是一個保存的 .msg 文件
Public Function GenerateEmail(sendTo As String, _
sendCC As String, sendBCC As String, _
subjectText As String, fileName As String)
Application.ScreenUpdating = False
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItemFromTemplate(fileName)
With OutMail
.sendTo = sendToText
.CC = sendCCText
.BCC = sendBCCText
.Subject = subjectText
.Attachments.Add (Application.ActiveWorkbook.FullName)
.Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Function
你必須保存一個模板——你只是起草一個模板(我通常使用標記來代替身體的某些部分,這取決於收件人——比如“親愛的 %Recipient%”),然后“另存為”一個 .oft 文件。 然后運行你的代碼來發送郵件。 我還會使用.HTMLbody
來維護模板的格式,以便您輸入
With OutMail
.sendTo = sendToText
.CC = sendCCText
.BCC = sendBCCText
.Subject = subjectText
.HTMLbody= WorksheetFunction.Substitute(OutMail.HTMLbody, "%Recipient%", [Recipiants name here (this could be a stored string)])
.Attachments.Add (Application.ActiveWorkbook.FullName)
.Display
End With
只需將 .body 添加到電子郵件文本中,如下所示
With OutMail
.sendTo = sendToText
.CC = sendCCText
.BCC = sendBCCText
.Subject = subjectText
.body = "Add your Text here"
.Attachments.Add (Application.ActiveWorkbook.FullName)
.Display
End With
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.