如何在Outlook邮件的VBA代码中使用换行符分隔内容
解决VBA生成Outlook邮件时的换行问题
你的代码里没有在字符串间插入换行符,导致所有内容都连在一起显示。要实现换行,只需要在需要换行的位置添加vbCrLf(回车换行符,适配Outlook纯文本邮件格式)即可。
修改后的完整代码如下:
Dim MyOutlook As Object Set MyOutlook = CreateObject("Outlook.Application") Dim MyMail As Object Set MyMail = MyOutlook.CreateItem(olMailItem) MyMail.To = "sampleemail@google.com" MyMail.CC = "sampleemail@google.com" MyMail.Subject = "Sample Subject" MyMail.Body = "Hello Team," & vbCrLf & _ "Please see attached for this month's summary" & vbCrLf & vbCrLf & _ "Thanks!" & vbCrLf & _ "Sample Signature" Attached_File = "C:\Users\public\Documents\sample_reports.xls" MyMail.Attachments.Add Attached_File MyMail.Send
关键说明:
vbCrLf是VBA内置常量,代表回车+换行,能让Outlook纯文本正文正确识别换行逻辑- 需要空行时,连续使用两个
vbCrLf即可(比如示例中正文和感谢语之间的空行) - 若后续要切换为HTML格式邮件,将
MyMail.Body替换为MyMail.HTMLBody,换行改用<br>标签
内容的提问来源于stack exchange,提问作者Edwin
相关产品推荐
相关产品推荐

