Excel 发送包含非HTML正文和HTML签名的Outlook电子邮件
因此,我无论如何都不是VBA的常客……我尝试了以下所有不同的解决方案来解决这个问题:,但没有发现任何解决方案与我目前构建的解决方案有效。我正在修改RDB的电子邮件模板工作表,其中电子邮件正文和收件人引用另一个表。尝试不同的解决方案我要么得到正确格式的电子邮件正文(新行分隔)与断开的签名(包含链接和图像)或正确的签名,但电子邮件正文的格式不正确。以下是壁橱解决方案,因为它正确显示了签名,但电子邮件正文的格式不正确 感谢您的帮助Excel 发送包含非HTML正文和HTML签名的Outlook电子邮件,excel,vba,outlook,Excel,Vba,Outlook,因此,我无论如何都不是VBA的常客……我尝试了以下所有不同的解决方案来解决这个问题:,但没有发现任何解决方案与我目前构建的解决方案有效。我正在修改RDB的电子邮件模板工作表,其中电子邮件正文和收件人引用另一个表。尝试不同的解决方案我要么得到正确格式的电子邮件正文(新行分隔)与断开的签名(包含链接和图像)或正确的签名,但电子邮件正文的格式不正确。以下是壁橱解决方案,因为它正确显示了签名,但电子邮件正文的格式不正确 感谢您的帮助 On Error Resume Next
On Error Resume Next
Set olApp = Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)
With olMail
.display
End With
signature = olMail.HTMLbody
With olMail
signature = olMail.HTMLbody
.To = StringTo
.CC = StringCC
.BCC = StringBCC
.Subject = Me.Cells(myCell.Row, "I").Value
.HTMLbody = strHTMLBody & Me.Cells(myCell.Row, "K").Value & signature
试试下面的sub。sub将显示带有默认签名的邮件,您可以根据需要添加正文消息和附件
Sub SendMailWithDefaultSign()
On Error GoTo HarunErrHandler
Dim oApp As New Outlook.Application
Dim oEmail As Outlook.MailItem
Dim strAttachment As Variant, strSubject As Variant, strBody As Variant
Dim strEmail As String
Dim fileName As String
strSubject = "VBA code to send mail with default signature." 'Me.TaskID & ": " & Me.TaskTitle
'strBody = Me.Description
strEmail = "recipientmail@domain.com"
Set oEmail = oApp.CreateItem(olMailItem)
With oEmail
.BodyFormat = olFormatHTML
.Display
.Recipients.Add strEmail
.Subject = strSubject
.HTMLBody = "<b>Hello Everyone,</b><br>" & _
"Please cehck the attached file.<br>" & .HTMLBody
' .Attachments.Add fileName
End With
Exit Sub
HarunErrHandler:
MsgBox "Error :" & Err.Number & ", " & Err.Description, vbInformation, "Error"
End Sub
Sub-SendMailWithDefaultSign()
关于错误转到HarunerHandler
Dim oApp作为新的Outlook.Application
将oEmail设置为Outlook.MailItem
变型为暗地层,变型为strSubject,变型为strBody
把邮件当作字符串
将文件名设置为字符串
strSubject=“发送带有默认签名的邮件的VBA代码。”“Me.TaskID&:”&Me.TaskTitle
'strobdy=Me.Description
strEmail=”recipientmail@domain.com"
设置oEmail=oApp.CreateItem(olMailItem)
用电子邮件
.BodyFormat=olFormatHTML
.展示
.Recipients.Add strEmail
.Subject=strSubject
.HTMLBody=“大家好,
”&_
“请将所附文件存档。
”&.HTMLBody
'.Attachments.Add文件名
以
出口接头
哈伦德勒:
MsgBox“错误:&Err.Number&”,&Err.Description,vbInformation,“错误”
端接头
您需要确保为属性分配了格式良好的HTML字符串。因此,如果您想在签名之前插入任何内容,您需要找到一个开头的
标记,并将字符串粘贴在
标记之后。因此,如果任意插入标记,如是:'.HTMLbody=strHTMLBody'我会收到一条编译错误消息。这不合适为什么?理想情况下,您需要创建一个格式良好的HTML文档,其中包含您的内容。当您将Outlook分配给部分格式的标记时,它会处理大多数情况,但谁知道呢。。。