2014-09-19 37 views
6

我想通過Excel自動發送電子郵件,但是新的行命令不起作用!我試過<br/>vbCrLfvbNewLine在VBA中添加新行電子郵件

.HTMLbody = "Hello" & vbNewLine & "Please find attached the above invoices and backup" & vbNewLine & _ 
      "Any queries please let me know" & vbNewLine & "Regards" & vbNewLine & Signature 

它一直只是給Hello Please find attached the above invoices and backup Any queries please let me know Regards爲一條線!

回答

11

可能是你可以改爲嘗試這個辦法:使用

.HTMLbody = "Hello" & "<br>" & "Please find attached the above invoices and backup" & "<br>" 

代替vbnewline

+0

這很好用!現在我只需要格式化我的文本:D – DannyBland 2014-09-19 10:36:29

0

除非您需要將電子郵件轉爲HTML,否則請嘗試使用.body而不是.html。

如果您需要的電子郵件是HTML,那麼你需要確保整個文本採用HTML格式的標籤。 - 最簡單的方法是在工作簿的單元格中添加html代碼,然後引用該單元格。

+0

我該如何做一個單元格的引用? '。體=「表(工作表Sheet1).Range(」 A1" )'? – DannyBland 2014-09-19 10:27:00

+0

如果你把你自己和你想,那麼你可以查看電子郵件的來源和複製有關的部分,包括HTML文本的電子郵件。 我發現它是有用的,然後使用一個轉換器將其轉換爲「乾淨的HTML」 - 這是標準的HTML中刪除所有Microsoft使用標籤 此外,如果您是在電子郵件的正文中把唯一的事情就是這些。那麼就不需要將它作爲html發送 – EdHunter 2014-09-19 10:32:01

+0

對HTML的需求是由於簽名造成的,在VBA代碼本身中沒有辦法做到這一點嗎? – DannyBland 2014-09-19 10:34:00

4

嘗試包裹在一些基本的HTML標籤的文本。

.HTMLbody = "<html><body><p>Hello</p><p>Please find attached the above invoices and backup.</p>" _ 
    & "<p>Any queries please let me know</p><p>Regards</p>" & Signature & "</body></html>" 

這假設簽名已經是HTML格式的段落級別。 (未測試;無保證)