2017-08-24 74 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