0

我有一个创建电子邮件的宏。打开新电子邮件时,它会在默认签名前添加三行间距。
我尝试了各种更换和修剪解决方案。

代码的相关部分:

Set objEmail = app_Outlook.CreateItem(olMailItem)
            
Dim signature As String
                          
strSalutation = "<html><head></head><body>" & sGreeting & " " & Sheets("Tabelle2").Cells(i, 5) & "," & "</body></html>"
            
objEmail.SentOnBehalfOfName = "address@mail.com"
            
objEmail.Display
              
objEmail.To = sEmail_Address

objEmail.Subject = sTitle
            
sSignature = Replace(objEmail.HTMLBody, Chr(13), "")
                       
objEmail.HTMLBody = strSalutation & "<p>" & sTemplate & objEmail.HTMLBody

我需要这个在任何人的笔记本电脑上工作,所以不仅仅是我的签名。

4

3 回答 3

0

在上面的示例代码中:

 trSalutation = "<html><head></head><body>" & sGreeting & " " & Sheets("Tabelle2").Cells(i, 5) & "," & "</body></html>"
 ...
 objEmail.HTMLBody = strSalutation & "<p>" & sTemplate & objEmail.HTMLBody

在关闭</html>标签后添加一个新的 HTML 元素。

相反,您需要将注视在<body>and</body>元素中的称呼粘贴。结果,您将获得一个格式良好的 HTML 字符串。

于 2019-06-22T22:09:54.440 回答
0

您可以使用样式来删除边距,如下所示:

"<html><head><style>p{margin-top:0;margin-bottom:0;}</style></head><body>"
于 2020-01-28T07:46:50.833 回答
0

你可以试试这个:

sSignature = Replace(objEmail.HTMLBody, "<p class=MsoNormal><o:p>&nbsp;</o:p></p>", "")
于 2020-06-04T19:29:07.100 回答