VBA Outlook 电子邮件格式

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

每当我使用以下代码生成电子邮件时,它都不会使用默认的新电子邮件格式。下面的代码在段落后添加空格,并且不允许我在不更改其格式的情况下插入默认签名。我将 mymail.display 向上移动,它显示了具有正确格式和签名的新邮件模板,但是代码的其余部分覆盖了这一点。预先感谢!

Sub Email()
'
' Email Macro
'
Sheets("Email").Select
Dim outlookapp As Object
Dim myMail As Object
Dim source_file, to_emails, cc_emails As String
Dim i, j As Integer

ActiveWorkbook.Save
Set outlookapp = CreateObject("outlook.Application")
Set myMail = outlookapp.CreateItem(olMailItem)

myMail.Display
For i = 2 To 6
    to_emails = to_emails & Cells(i, 1) & ";"
    cc_emails = cc_emails & Cells(i, 6) & ";"
    body_emails = body_emails & Cells(i, 5) & vbNewLine
    source_file = source_file & Cells(i, 3)
Next i

source_file = ThisWorkbook.FullName
myMail.CC = cc_emails
myMail.to = to_emails
myMail.Subject = Sheets("Email").Range("B2").Value
myMail.Body = body_emails



'
End Sub
excel vba outlook
1个回答
0
投票

使用以下代码行覆盖已添加签名的消息正文的现有内容:

myMail.Body = body_emails

首先,

Body
属性表示没有任何格式的纯文本字符串。要保留消息正文中的格式,您需要使用 HTMLBody 属性。

其次,您需要在打开

body_emails
标签后立即粘贴内容(
<body>
)。因此,所有其他 HTML 标记都将被保留。

© www.soinside.com 2019 - 2024. All rights reserved.