我实际上正在使用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
。
任何想法的人?
答案 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?链接很有用。