发送Outlook电子邮件(包括variables和字体更改)?

我有VBA代码,用于发送带有variables的Outlook电子邮件,或者发送带有字体更改(粗体,字体等)的Outlook电子邮件,但不能同时包含variables和字体更改。

这将发出“你好”:variables=“有”OutMail.Body =“嗨”variables

这将发出“嗨那里”你好大胆,没有大胆的(忽略左胡萝卜后的空间):Outmail.HTMLBody =“<b>嗨</ b>那里”

我想用一个variables发送出去,但是没有成功。 我先试了一下,但发出“嗨”的粗体,但忽略了variables。 variables=“那里”Outmail.HTMLBody =“<b>嗨</ b>”&variables

这里是完整的代码:

Dim OutApp As Object, OutMail As Object, plan_day As Date, comp_tsk As String 'define EmailAddress, CCAddress, EmailSubject plan_day = "06/02/2015" comp_tsk = "there" EmailBody = "< b>Today is " & plan_day & ".< /b> Hello " & comp_tsk Set OutMail = OutApp.CreateItem(0) With OutMail .To = EmailAddress .CC = CCAddress .Subject = EmailSubject .bodyformat = 2 .HTMLBody = EmailBody .Send End With 

这将发出“今天是06/02/2015。你好”…你好之前的一切都是粗体。 “there”这个词是无处包含的。

我唯一发现的是.HTMLBody命令似乎与“date”types的variables,但不是“string”types。 任何人都有这个解决方法?

很可能是因为你replace了整个HTMLBody。

尝试像这样的内容插入HTML电子邮件的正文

 With OutMail .To = EmailAddress .CC = CCAddress .Subject = EmailSubject .bodyformat = 2 Debug.Print .HTMLBody ' This is to show you what the default HTMLBody is like! Surprise about how much text by default?! .HTMLBody = Replace(.HTMLBody,"</body>",EmailBody & "</body>") .Send End With 

你不试试吗? 我在电子邮件正文中引用此链接“ 粗体variables” 。 试试看吧…没有害处我猜是因为在评论中说了它的工作。 请纠正我,如果我误解了这个问题:

 Dim messageoutlook as variant messageoutlook= "< b>Today is " & plan_day & ".< /b> Hello " messageoutlook= messageoutlook & "<b>" & comp_tsk & "</b>" With OutMail .To = EmailAddress .CC = CCAddress .Subject = EmailSubject .bodyformat = 2 .HTMLBody = messageoutlook .Send End With