vbscript - 表中的XHTML图像

时间:2015-03-02 11:24:04

标签: html vbscript background-image outlook-vba

我实际上正在使用vbscript来生成使用HTML的Outlook签名,到目前为止一直很好。 但是,当我尝试在HTML中添加图像作为背景时,图像将不会显示。 在下面找到我的代码;

'-HTML signature
htmlFilePath = pathToCopyTo & "Signature.htm"
Set htmlFile = objFSO.CreateTextFile(htmlFilePath, TRUE)
htmlfile.WriteLine("<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0Transitional//EN""""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"">")
htmlfile.WriteLine("<html xmlns=""http://www.w3.org/1999/xhtml"" >") 
htmlfile.WriteLine("<body>") 
htmlfile.WriteLine("<div><table background=""C:\Logon\backG.jpg""><tr><td>")
htmlfile.WriteLine("<div style="" font-size:18pt;color:'RGB(15,0,250)';font-family:'Forte';"">" & strFirstName & " " &  strLastName & "</div>")
htmlfile.WriteLine("<div style="" font-size:12pt;font-family:'Arial';"">" & strTitle & "</div>") 
htmlfile.WriteLine("<div style="" font-size:8pt;font-family:'Arial';"">" & Details & "</div>")   
htmlfile.WriteLine("</td></tr></table></div>")

htmlfile.WriteLine("<div><table><tr><td style=""width:70%"">")
htmlfile.WriteLine("<img src=""C:\Logon\pix.jpg"">")
htmlfile.WriteLine("</td><td>")
htmlfile.WriteLine("<img src=""C:\Logon\logo.jpg"">")
htmlfile.WriteLine("</td></tr></table></div>")

htmlfile.WriteLine("</body>")
htmlfile.Write("</html>")  

相同的html是单独构建的,并通过Internet Explorer启动,它显示正确。

我无法弄清楚为什么<table background=""C:\Logon\backG.jpg"">不起作用,即使我把它作为身体属性或td,图像也不会显示出来。其他图像正确显示,仅适用于未显示的background

任何想法的人?

1 个答案:

答案 0 :(得分:0)

Outlook使用Word作为电子邮件编辑器。您可以在MSDN的以下文章中阅读有关受支持和不受支持的HTML元素,属性和级联样式表属性:

您需要在任何网络服务器上传图像或将其添加为附件。如果隐藏附件,您需要使用cid值。使用Attachment.PropertyAccessor在附件上设置PR_ATTACH_CONTENT_ID属性(DASL - http://schemas.microsoft.com/mapi/proptag/0x3712001F)。请注意,Attachment类的PropertyAccessor属性已添加到Outlook 2007中。

您可能会发现How do I embed image in Outlook Message in VBA?链接很有用。