Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 发送包含非HTML正文和HTML签名的Outlook电子邮件_Excel_Vba_Outlook - Fatal编程技术网

Excel 发送包含非HTML正文和HTML签名的Outlook电子邮件

Excel 发送包含非HTML正文和HTML签名的Outlook电子邮件,excel,vba,outlook,Excel,Vba,Outlook,因此,我无论如何都不是VBA的常客……我尝试了以下所有不同的解决方案来解决这个问题:,但没有发现任何解决方案与我目前构建的解决方案有效。我正在修改RDB的电子邮件模板工作表,其中电子邮件正文和收件人引用另一个表。尝试不同的解决方案我要么得到正确格式的电子邮件正文(新行分隔)与断开的签名(包含链接和图像)或正确的签名,但电子邮件正文的格式不正确。以下是壁橱解决方案,因为它正确显示了签名,但电子邮件正文的格式不正确 感谢您的帮助 On Error Resume Next

因此,我无论如何都不是VBA的常客……我尝试了以下所有不同的解决方案来解决这个问题:,但没有发现任何解决方案与我目前构建的解决方案有效。我正在修改RDB的电子邮件模板工作表,其中电子邮件正文和收件人引用另一个表。尝试不同的解决方案我要么得到正确格式的电子邮件正文(新行分隔)与断开的签名(包含链接和图像)或正确的签名,但电子邮件正文的格式不正确。以下是壁橱解决方案,因为它正确显示了签名,但电子邮件正文的格式不正确

感谢您的帮助

            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分配给部分格式的标记时,它会处理大多数情况,但谁知道呢。。。