首页 > 解决方案 > 如何在电子邮件中的文本行之间添加或删除空格?

问题描述

我创建了一封 Outlook 电子邮件,我想在段落之间添加或删除空格。

我尝试使用 vbNewLine 和 " " 但都没有空行。

此外,我的 for 循环创建的句子的每个要点后面都有很大的空间。它不是空行,而是句子前后的间距(查看段落菜单)设置为“自动”,我希望两者都为“0”。

Sub Email_Budget()
   
    Dim objOutlook As Object
    Set objOutlook = CreateObject("Outlook.Application")
   
    Dim objEmail As Object
    Set objEmail = objOutlook.CreateItem(olMailItem)
   
    Dim CaseCount As Long
    CaseCount = WorksheetFunction.CountA(Range("B6:B500"))
    'Debug.Print CaseCount
   
    Dim i As Integer
   
    With objEmail
        .To = "abc@xyz.com"
        .Subject = "TEST1: May 2019 Budget"
        .HTMLBody = "Karen,"
        .HTMLBody = .HTMLBody & vbNewLine

        .HTMLBody = .HTMLBody & "The potential " & _
          MonthName(Month(ActiveSheet.Range("A2"))) & " invoices are below."

        .HTMLBody = .HTMLBody & vbNewLine
        For i = 1 To CaseCount
            If ActiveSheet.Cells(i + 5, 4).Value = "Yes" Then
                .HTMLBody = .HTMLBody & "<ul style='list-style-type:disc;'>" & "<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>" & _
                  "<ul style = 'list-style-type:circle;'>" & "<li>" & "Last billed " & _
                  ActiveSheet.Cells(i + 5, 10) & "." & "</li>" & "</ul>" & "</ul>"
            End If
        Next i
        .HTMLBody = .HTMLBody & vbNewLine
        .HTMLBody = .HTMLBody & vbNewLine
        .HTMLBody = .HTMLBody & "Thank you,"
        .HTMLBody = .HTMLBody & vbNewLine
        .HTMLBody = .HTMLBody & "Kurt"
        .Display
    End With
End Sub

标签: excelvbaoutlook

解决方案


也许使用换行元素(br)?

Line 1<br>
Line 2

推荐阅读