将多个范围的值添加到电子邮件正文

时间:2012-07-16 10:57:40

标签: excel vba outlook

我有一段基本的Excel电子邮件代码但是,我想知道如何制作它,以便它可以添加几个不同的单元格到电子邮件的正文。这也需要包括一些范围。这些范围应仅显示实际包含值的单元格中的值,而不是空白值。

E.g。 所以我想要例如

  • B12数据 (换行x 2)
  • E15:E20数据 (LineBreak x2)
  • F19:F20数据

我的代码是:

Sub Send_to_Email()
On Error GoTo PROC_EXIT
Dim OL As New Outlook.Application

Dim olMail As Outlook.MailItem
Set olMail = OL.CreateItem(olMailItem)

Dim SrcSheet As Excel.Worksheet
Set SrcSheet = Sheets("Clean (2)")

With olMail
    .To = SrcSheet.Range("A19").Text
    .Subject = SrcSheet.Range("F19").Text
    .Body = SrcSheet.Range("B19").Text
    .Display vbModal
    '.Send
End With

PROC_EXIT:
On Error GoTo 0
Set OL = Nothing
End Sub

1 个答案:

答案 0 :(得分:0)

我建议使用HTMLbody代替body。然后,您可以自由添加<br/>或任何其他您想要的格式。

作为额外的奖励,在构建正文字符串时,您不必担心空白。虽然很明显,但是当你解决问题时,你仍然希望它清晰可见。

对于范围,请检查所有相关单元格,并包含以下内容:

If Range.value <> "" then
    'Do Stuff 
end if