在excel中创建宏后,outlook中未显示签名



我一直试图在excel中创建一个automailer,但当我尝试发送它时,签名没有出现。这是VB脚本:

Sub Send_email_fromexcel()
Dim OApp As Outlook.Application, outlookmailitem As Outlook.MailItem, signature As String
Dim edress As String
Dim subj As String
Dim message As String
Dim filename As String
Dim OApp As Object
Dim outlookmailitem As Object
Dim signature As String
Dim myAttachments As Object
Dim path As String
Dim lastrow As Integer
Dim attachment As String
Dim x As Integer




x = 2

Do While Sheet1.Cells(x, 1) <> ""

Set OApp = CreateObject("Outlook.Application")
Set outlookmailitem = OApp.createitem(0)
Set myAttachments = outlookmailitem.Attachments
path = "H:Marketing"

edress = Sheet1.Cells(x, 1)
cc = Sheet1.Cells(x, 3)
subj = Sheet1.Cells(x, 4)
filename = Sheet1.Cells(x, 5)
body = Sheet1.Cells(x, 6)
attachment = path + filename
signature = outlookmailitem.body

'With outlookmailitem
outlookmailitem.To = edress
outlookmailitem.cc = cc
outlookmailitem.bcc = ""
outlookmailitem.Subject = subj
myAttachments.Add (attachment)
outlookmailitem.display
outlookmailitem.body = body & vbNewLine & signature



' outlookmailitem.send

lastrow = lastrow + 1
edress = ""
x = x + 1
Loop
Set OApp = Nothing
Set outlookmailitem = Nothing

End Sub

在代码中,您使用的是一个表示消息正文的纯文本字符串:

signature = outlookmailitem.body
'...
outlookmailitem.body = body & vbNewLine & signature

很可能您想要使用HTMLBody属性,该属性返回或设置一个表示指定项的HTML正文的字符串。设置HTMLBody属性将始终立即更新Body属性。

此外,在从消息体获取签名之前,您可以尝试调用Display方法。

最新更新