簡體   English   中英

基於模板,從 Excel 修改 Outlook 電子郵件的 HTMLBody

[英]Modify HTMLBody of Outlook Email, based on Template, from Excel

我正在嘗試基於模板從 Excel VBA 修改 Outlook 電子郵件的 HTML 正文。

我的代碼是:

Sub Email_Button()

Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Set OutApp = CreateObject("Outlook.Application")

Set OutMail = OutApp.CreateItemFromTemplate("S:\some\path\to\file\Email.oft")

With OutMail
    .Importance = olImportanceHigh
    .Subject = "Subject " & Date
    .Attachments.Add Application.ActiveWorkbook.FullName
    .HTMLBody = WorksheetFunction.Substitute(OutMail.HTMLBody, "%target%", "replacement")
    .Display
End With

' *** TIDY UP ***
Set OutMail = Nothing
Set OutApp = Nothing

End Sub

問題與非常相似。

我得到

運行時錯誤 287。應用程序定義或對象定義的錯誤

在 .HTMLBody 修改行上。

如果我刪除此行,則會顯示電子郵件供用戶在點擊發送之前檢查。

我參考了 Microsoft Outlook 15 對象庫。

我補充說:

With OutMail
    .bodyFormat = olFormatHTML

但是在 Substitute 行上遇到了同樣的錯誤,所以我將替換更改為:

.HTMLBody = "<HTML><BODY>Some HTML text here</BODY></HTML>"

並且電子郵件的正文已更新。

因此,錯誤僅在嘗試使用替代品或其與經常有關時才會出現。

從調試器看來,沒有 HTML 正文:

在此處輸入圖片說明

我已經確認以編程方式將正文類型設置為 HTML:

在此處輸入圖片說明

並通過打開經常消息並檢查:

在此處輸入圖片說明

問題的原因可能與Substitute方法有關,因此我建議運行以下代碼以確保一切正常:

Sub CreateHTMLMail()  
 Dim OutApp As Outlook.Application
 Set OutApp = CreateObject("Outlook.Application")
 'Creates a new email item and modifies its properties.  
 Dim objMail As Outlook.MailItem  
 'Create email item  
 Set objMail = OutApp.CreateItemFromTemplate("S:\some\path\to\file\Email.oft")
 With objMail  
 'Set body format to HTML  
 .BodyFormat = olFormatHTML  
 .HTMLBody = "<HTML><BODY>Enter the message text here. </BODY></HTML>"  
 .Display  
 End With  
End Sub

另一個方面是 Outlook 安全提示。 在 Outlook文章中的“程序正試圖代表您發送電子郵件”警告中閱讀有關此內容的更多信息。

最可能的原因是 Outlook 安全。

出於安全目的,HTMLBody、HTMLEditor、Body 和 WordEditor 屬性都受地址信息安全提示的約束,因為郵件正文通常包含發件人或其他人的電子郵件地址。

您可以在 HKCU\\Software\\Policies\\Microsoft\\office\\16.0\\outlook\\security\\ 中找到安全配置(將 16.0 更改為您的辦公室版本)

您可以檢查兩個值, promptoomaddressbookaccess 和 promptoomaddressinformationaccess

將它們更改為 2(或詢問您的系統管理員),重新啟動 Outlook 並重試。

更多信息https://support.microsoft.com/en-za/help/926512/information-for-administrators-about-e-mail-security-settings-in-outlo

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM