我发现这段代码不久了,但它的一个问题是它不包含签名,而且在我读过的所有资源中,我都无法找到解决方案。
非常感谢任何帮助!
Public Function Email_Test()
Dim MyOutlook As Outlook.Application
Dim MyMail As Outlook.MailItem
Dim objOutlook As Object
Dim Attach As String
Set MyOutlook = New Outlook.Application
Set MyMail = MyOutlook.CreateItem(olMailItem)
MyMail.To = "fakeperson150@gmail.com" '**put in reference to form
'MyMail.CC = MailList("Copy To")
MyMail.Subject = "This Is A Test Email" '**put in reference for subject
MyMail.Body = "Hi," & vbNewLine & vbNewLine & "See attached."
'MyMail.Send
MyMail.Display
Set MyMail = Nothing
Set MyOutlook = Nothing
End Function
答案 0 :(得分:0)
Outlook是一个HTML应用程序。您需要使用.HTMLBody,并且在您放入的任何文本的末尾,请确保包含.HTMLBody = "text"& .HTMLBody
。此.HTMLBody
必须位于电子邮件的任何正文部分的末尾,以便自动显示签名。我会避免尝试使用多种体型,并在编写Outlook时坚持使用HTML。编码Outlook时,请在评论中使用@shmicah链接中提供的常规格式。如果您的签名没有出现在您想要的地方,那么请为您需要关闭的每一行添加
。
答案 1 :(得分:0)
只有在调用Display之前未修改邮件正文时,才会MailItem.Display
添加签名。首先调用显示,然后仅将现有消息正文(包括签名)与您自己的数据合并。如果要保留格式,则需要使用HTMLBody
属性,而不是纯文本Body
。但这意味着你必须适当地合并两个HTML字符串 - 你不能只是连接它们。
答案 2 :(得分:0)
这是我用来将签名附加到邮件的代码示例。希望有帮助。
Sub Email() '在2000-2010年工作 '此示例发送Activeworkbook的最后保存版本 昏暗的OutApp作为对象 昏暗OutMail作为对象 昏暗的路径作为字符串:路径= Sheet10.Range(“ H6”)。Text&“”&Sheet10.Range(“ I6”)。Text 昏暗的Strbody作为字符串
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
strbody = "Attached updated Stock."
On Error Resume Next
With OutMail
.Display
.To = "annettef@example.co.za"
.CC = ""
.BCC = ""
.Subject = "Fruits Stock " & Path
.HTMLBody = strbody & .HTMLBody
.Attachments.Add ActiveWorkbook.FullName
'You can add other files also like this
'.Attachments.Add ("C:\test.txt")
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
结束子