2017-08-24 45 views
0

这是我的代码的一部分,通过outlook发送电子邮件vba。但是,我想以粗体发送第一句话。例如:我在第一个正文中书写文本的位置(我如何命名每个段落的单元格),我可以选择我希望文本是粗体的位置,但是当vba创建电子邮件时,这些格式不会保留如何维护vba中outlook的格式

任何想法?

EX:我的名字是Vinicius。我是来自巴西和像足球

enter image description here

pretit = Sheets(CurrSh).Range("pretit").Value 
    midtit = Sheets(CurrSh).Range("midtit").Value 
    prebod = Sheets(CurrSh).Range("prebod").Value 
    bod = Sheets(CurrSh).Range("bod").Value 
    postbod = Sheets(CurrSh).Range("postbod").Value 
    body2 = Sheets(CurrSh).Range("body2").Value 
    body3 = Sheets(CurrSh).Range("body3").Value 
    body4 = Sheets(CurrSh).Range("body4").Value 
    report = Sheets(CurrSh).Range("report").Value 

If Sheets(CurrSh).Range("body4").Value <> vbEmpty Then 

          'Set ObjApp = CreateObject("Outlook.Application") 
          While (Sheets(CurrSh).Range("emailad_ini").Offset(n, 0).Value <> "") 
          emailad = Sheets(CurrSh).Range("emailad_ini").Offset(n, 0).Value 
          firstname = Sheets(CurrSh).Range("firstname_ini").Offset(n, 0).Value 


          Set objMail(n) = ObjApp.CreateItem(0) 

          objMail(n).display 
          objMail(n).To = emailad 
          objMail(n).Subject = pretit & " " & firstname & midtit 
          objMail(n).HtmlBody = "<HTML><BODY><FONT FACE='Arial'><FONT SIZE='2'>" & prebod & " " & firstname & "," & "<br>" & "<br>" & bod & "<br>" & "<br>" & body2 & "<br>" & "<br>" & body3 & "<br>" & "<br>" & body4 & "<br>" & "<br>" & postbod & objMail(n).HtmlBody & "</FONT></FONT></BODY></HTML>" 
          objMail(n).Attachments.Add (report) 

回答

1

假设你正在使用.HTMLBody你只需附上你想要的一切在HTML粗体标签这样的大胆:

Not Bold <b>This is bold</b> This is no longer bold. 
+0

我试过这个,但我想要更灵活些。我的意思是,我想写的文字,每天都在改变,而且vba保持excel单元格的相同格式。正如我上面显示的那样,一些部分/词将会以粗体显示,而其他部分则不会。 – Vinicius

+0

这就是允许你做的事情。 – braX

+0

你的意思是你想要在Excel中做的格式应用于电子邮件?要做到这一点,你需要使用这个:https://www.rondebruin.nl/win/s1/outlook/bmail2.htm – braX