在保持回车时,我很难将单个单元格粘贴到Outlook。我不能使用RangeToHTML
,因为它粘贴为一个表,我需要它是纯文本所以我试过这个:
For Each C In wsEnv.Range("A1:A17")
If C.Row = 1 Then
wsEnv.Cells(19, 1) = C & vbCrLf
ElseIf C.Row < 17 Then
wsEnv.Cells(19, 1) = wsEnv.Cells(19, 1) & C & vbCrLf
Else
wsEnv.Cells(19, 1) = wsEnv.Cells(19, 1) & C
End If
Next C
On Error Resume Next
With OutMail
.Display
.To = Para
.CC = CC
.BCC = ""
.Subject = Asunto
.HTMLBody = wsEnv.Cells(19, 1)
.Send
End With
On Error GoTo 0
结果是这样的:
有没有办法在格式上保留格式?或者使用RangeToHTML
函数,将其粘贴为文本而不是表格?
您正在使用HTML邮件.HTMLBody
并且回车符对HTML代码没有影响。实际上.HTMLBody
正在等待HTML代码而不是纯文本。
olFormatPlain
(请参阅OlBodyFormat enumeration)并使用.Body
而不是.HTMLBody
.BodyFormat = olFormatPlain
.Body = wsEnv.Cells(19, 1).Value
vbCrLf
与换行符<br>
的HTML代码。
.HTMLBody = Replace$(wsEnv.Cells(19, 1).Value, vbCrLf, "<br>")
请注意,使用Alt + Enter在单元格中输入的换行符是vbLf
而不是vbCrLf
!