【发布时间】:2016-04-25 06:40:02
【问题描述】:
上网后,我仍然遇到在 excel 生成的电子邮件中插入新行的问题。
我尝试了以下代码:
Email = "person@email.com"
Subj = "Subject"
body = "Hello Person," & vbCr & _
"message" & vbCr & _
"Example: " & vbCr & _
"another example" & vbCr & _
"another example" & vbCr & _
"Thank you. "
和
body = "Hello Person," & vbCr & _
body = body & "message" & vbCr & _
etc etc
我试过了
body = "Hello Person," & vbNewline & _
body = body & "message" & vbNewline & _
etc etc
第一个示例运行良好,但没有多余的行。第二个例子抛出不匹配错误
知道问题是什么吗?
URL = "mailto:" & Email & "?subject=" & Subj & "&body=" & Msg & " " & body
ShellExecute 0&, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus
Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
【问题讨论】:
-
不匹配是因为语法没有意义。 & _ 基本上是 IDE 为用户创建换行符以获得更好格式的方式。它在语法上与 body="Hello Person, " & vbNewLine & body = body & "message" 相同。如果您在第一行末尾取出 & _,它会起作用(它会消除错误)。
-
它确实消除了错误,但没有解决没有额外行的问题。感谢您指出这一点
-
您可以发布您预期输出的屏幕截图吗? @Slubee 发布的答案在每行之后添加了一个换行符。您是否期望“Hello Person”和“message”之间有一个空行?如果是这样,添加另一个 vbNewLine,如下所示:"Hello Person," & vbNewLine & vbNewLine & _
-
编辑了原始帖子以包含屏幕截图