Outlook 2010 VBA脚本保留.html导入的部分

时间:2015-01-13 02:48:31

标签: css vba import outlook media-queries

提前致谢。 我一直在研究各种方法,允许使用VBA将html代码或.html文件导入到outlook 2010电子邮件中,但令我沮丧的是,我注意到所有导入技术似乎都会导致HEAD中包含的所有样式元素被剥夺了。

作为一个例子,当使用相同的html CSS代码的Thunderbird时,它可以完美地工作,并且当发送收件人时似乎也能获得样式,尽管客户端(gmail,yahoo等等)。 Thunderbird使用HTML作为简单输入完美地完成工作。那么为什么我要用前景来实现这个目标呢?简单地说客户想要使用outlook 2010.

我发现很难相信没有一些漂亮的工作可以防止Outlook剥离此内容然后发送保留HEAD内容的电子邮件,以便响应式样式正常工作。

这是我到目前为止使用的

VBA参考

  • Visual Basic For Applications
  • Microsoft Outlook 14.0对象库
  • Microsoft Office 14.0对象库
  • Microsoft Word 14.0对象库
  • OLE自动化

有剥离的代码

<head>
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;" />

<style type="text/css">

body{width:100%;margin:0px;padding:0px;background:#444444;text-align:center;}
html{width: 100%; }
img {border:0px;text-decoration:none;display:block; outline:none;}
a,a:hover{color:#ee7716;text-decoration:none;}.ReadMsgBody{width: 100%; background-color: #ffffff;}.ExternalClass{width: 100%; background-color: #ffffff;}
table {border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt; } 
.padtop10 {padding-top:10px;}
.main-bg{ background:#444444;}
.pads {padding:0px 15px 0px 15px;}
.mobdes{font-size:10px;}
@media only screen and (max-width:640px)

{
    body{width:auto!important;}
    .padtop10 {padding-top:0px;}
    .main{width:100% !important;margin:0px; padding:0px;}
    .two-column{width:100% !important;margin:0px; padding:0px;}
    .mobileCenter{width: 100% !important; text-align: center!important;}
    .two-left{width: 100% !important; text-align: center!important;}
    .date{font:Bold 14px Arial, Helvetica, sans-serif; color:#ee7716;}
    .mobdes{font-size:8px !important;}
    .customobpad{padding-top:30px !important;}

}

@media only screen and (max-width:479px)
{
    body{width:auto!important;}
    .padtop10 {padding-top:15px;}
    .main{width:100% !important;margin:0px; padding:0px;}
    .two-column{width:100% !important;margin:0px; padding:0px;}
    .mobileCenter{width: 100% !important; text-align: center!important;}
    .two-left{width: 100% !important; text-align: center!important;}
    .date{font:Bold 12px Arial, Helvetica, sans-serif; color:#ee7716;}
    .mobilogo {height:49px; width:190px !important; padding-left:15px !important; margin-left:-15px;}
    .pads {padding:0px 18px 0px 28px;}
    .mobdes{font-size:8px !important;}
    .customobpad{padding-top:30px !important;}
}
@media only screen and (max-width:800px)
and (orientation : landscape) {
body{width:auto!important;}
    .padtop10 {padding-top:5px;}
    .main{width:100% !important;margin:0px; padding:0px;}
    .two-column{width:100% !important;margin:0px; padding:0px;}
    .mobileCenter{width: 100% !important; text-align: center!important;}
    .two-left{width: 100% !important; text-align: center!important;}
    .date{font:Bold 12px Arial, Helvetica, sans-serif; color:#ee7716;}
    .mobilogo {height:39px; width:172px; padding-left:15px !important; margin-left:-15px;}
    .pads {padding:0px 18px 0px 28px;}
    .mobdes{font-size:8px !important;}
    .customobpad{padding-top:30px !important;}
}



</style>

</head>

进口的VBA宏代码

Sub InsertHTMLClean2()
Dim insp As Inspector
Set insp = ActiveInspector
If insp.IsWordMail Then
Dim wordDoc As Word.Document
Set wordDoc = insp.WordEditor
Dim FileToOpen As String
FileToOpen = InputBox("filename?")
wordDoc.Application.Selection.InsertFile FileToOpen, , False, False, False
End If
End Sub

我很欣赏许多开发人员说Outlook 2010无法保留头部信息,但我想知道是否有人找到了可行的解决方案。我主要感兴趣的是保留MEDIA QUERIES CSS,就像目前的状态一样,移动样式是什么打破了。如果没有关于我如何在outlook html电子邮件中重新训练媒体查询CSS样式的任何建议。

再次感谢。

1 个答案:

答案 0 :(得分:0)

您可能知道Outlook使用Word作为电子邮件编辑器。这就是为什么你看到Thuderbird和Outlook之间存在差异的原因。以下系列文章提供了与支持和不支持的HTML元素,属性和级联样式表属性相关的参考文档。