2017-07-11 124 views
0

我目前正面臨着將HTML放入VBA以發送電子郵件的問題。格式化不是我想要的方式,我一直在玩它。在VBA中格式化HTML

我的問題的第一部分是讓字體大小顯示Outlook的代碼狀態。如果字體大小爲22,則Outlook中的大小顯示爲16.5(第一行)。

如果應將字體大小設置爲11,則大小顯示爲8.5。

我對錶格有以下問題: 字體顯示爲Times New Roman大小12而不是Calibri大小11.此外,所有「Column」和「Top Line」都未對齊頂部。

語法錯誤?

.HTMLBody = "<html><center><p style='font-family:calibri;font-size:22'>" & "***<u>TEXT AT TOP</u> ***" & "</center></p>" & "<br>" & "<br>" & _ 
     "<p style='font-family:calibri;font-size:11'>" & "Good afternoon," & "</p>" & "<br>" & _ 
     "<p style='font-family:calibri;font-size:11'>" & "Attached please find your ... <strong> Please be advised.....</strong>" & "</p>" & _ 
     "<table><tr><td style='font-family:Calibri:align = top:font-size:11'>Column 1:</td><td style='font-family:Calibri'>Top Line</td></tr>" & "<br>" & _ 
     "<tr><td style='font-family:Calibri:align = top:font-size:11'>Column 2</td><td style='font-family:Calibri:align = top:font-size:11'>Top Line Row 2 <br> More text</tr></td>" & "<br>" & _ 
     "<tr><td></td><td style='font-family:Calibri:align = top:font-size:11'>Top Line Row 3 <br> More text </tr></td>" & "<br>" & _ 
     "<tr><td style='font-family:Calibri:align = top:font-size:11'>Column 3</td><td style='font-family:Calibri:align = top:font-size:11'>Top Line Row 4:</tr></td></table>" & "<br>" & _ 
     "<p style='font-family:calibri:font-size:11'>" & "Should you have any questions, or require any additional information, please do not hesitate to contact me anytime. Thank you!" & "</p>" & "<br>" & _ 
     "<p style='font-family:calibri:font-size:11'>" & "Best regards," & "</p>" & _ 
     "<table><tr><td style='font-family:Calibri:font-size:12'><strong>Size 12 text</strong> | text <br> text </tr></td>" & _ 
     "<tr><td style='font-family:Calibri:font-size:12><strong>Name</strong></tr></td><table>"     .Display 

謝謝!

+0

保持在這裏,*無人*曾經想出了用於使用對象正確的HTML標記公開功能COM類型庫?獲得點子... #SeeANeed #FILLANeed –

+0

保存自己的一些悲傷,將格式化的HTML放入單元格中,然後獲取HTMLBody的單元格值。在VBE中鍵入它並不是很有趣。 –

回答

1

您的HTML錯誤的色調:

  • 你錯過<body>
  • 您需要爲您的字體大小指定單位。類似22pt22px
  • 在很多地方你用冒號:代替分號;
  • align=top不是CSS屬性,因此將其移出style
  • 您的單元格和行之間不能有<br>
  • </td>必須在</tr>之後,而不是之前。
  • 你沒有關閉你的第二張桌子和你的<html>

這裏清洗HTML:

"<html><body><center><p style='font-family:calibri;font-size:22px;'>" & _ 
"***<u>TEXT AT TOP</u> ***</center></p><br><br>" & _ 
"<p style='font-family:calibri;font-size:11px;'>" & _ 
"Good afternoon,</p><br>" & _ 
"<p style='font-family:calibri;font-size:11px;'>" & _ 
"Attached please find your ... <strong> Please be advised.....</strong></p>" & _ 
"<table><tr><td style='font-family:Calibri;font-size:11px;' align='top'>Column 1:</td>" & _ 
"<td style='font-family:Calibri;'>Top Line</td></tr>" & _ 
"<tr><td style='font-family:Calibri;font-size:11px;' align='top'>Column 2</td>" & _ 
"<td style='font-family:Calibri;font-size:11px;' align='top'>Top Line Row 2 <br> More text</td></tr>" & _ 
"<tr><td></td><td style='font-family:Calibri;font-size:11px;' align='top'>Top Line Row 3 <br> More text </td></tr>" & _ 
"<tr><td style='font-family:Calibri;font-size:11px' align='top'>Column 3</td>" & _ 
"<td style='font-family:Calibri;font-size:11px;' align='top'>Top Line Row 4:</td></tr></table><br>" & _ 
"<p style='font-family:calibri;font-size:11px;'>Should you have any questions, or require any additional information, please do not hesitate to contact me anytime. Thank you!</p><br>" & _ 
"<p style='font-family:calibri;font-size:11px;'>Best regards,</p>" & _ 
"<table><tr><td style='font-family:Calibri;font-size:12px;'><strong>Size 12 text</strong> | text <br> text </td></tr>" & _ 
"<tr><td style='font-family:Calibri;font-size:12px;><strong>Name</strong></td></tr></table></body></html>"