如何使用Excel宏选择电子邮件正文并设置段落间距的格式?

时间:2019-05-09 18:36:45

标签: excel vba outlook

我已经使用Excel宏编写了Outlook电子邮件。但是,这些行的段落间距设置为“自动”,我希望该间距在前后都为“ 0 pt”。

With的末尾是否有办法选择我编码的所有内容并指定适当的段落格式?

try

2 个答案:

答案 0 :(得分:0)

最简单的格式化电子邮件的方法是在Outlook中以格式化的形式编写电子邮件,将其发送给自己,然后右键单击电子邮件的正文并选择“查看源”。然后,您可以选择HTML的相关部分。

对于您而言,我相信您想添加以下两个样式选项来设置前后间距:

style='mso-margin-top-alt:0.0pt;margin-bottom:0.0pt;'

答案 1 :(得分:0)

您正在为每个列表项编写<ul></ul>-进入循环之前,您应该只写<ul>,然后在完成循环时再写</ul>。解决可能会解决您的间距问题的问题

   With objEmail
      .To = "abc@xyz.com"
      .Subject = "TEST1: May 2019 Budget"
      .HTMLBody = "Karen,<br><br>"
      .HTMLBody = .HTMLBody & "The potential " & _
                  MonthName(Month(ActiveSheet.Range("A2"))) & _
                  " invoices are below.<br><br><ul style='list-style-type:disc;'>"

      For i = 1 To CaseCount
        If ActiveSheet.Cells(i + 5, 4).Value = "Yes" Then

            .HTMLBody = .HTMLBody & "<li>" & ActiveSheet.Cells(i + 5, 2).Value & _
                        " - " & Format(ActiveSheet.Cells(i + 5, 6).Value, "Currency") & _
                        " (" & Format(ActiveSheet.Cells(i + 5, 8).Value, "Currency") & _
                        " without budget or invoicing)." & "</li>"


        End If
      Next i
      .HTMLBody = .HTMLBody & "</ul><br>Thank you,<br>Kurt"
      .Display
   End With