从Excel将单元格值添加到Outlook电子邮件

时间:2018-06-22 21:29:00

标签: excel vba outlook

我正在尝试将Excel中一行中的某些单元格值添加到Outlook中的电子邮件中。

Sub Email_Record()
'
' Email_Record Macro
' Email Records
'
Dim olApp As Outlook.Application
Set olApp = CreateObject("Outlook.Application")

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

olMail.To = "example@email.com"
olMail.Subject = "Subject"
olMail.Body = "Hello," & vbTab & _
  "I could put text in here all day, but I can't get the cell values in here" & _
  vbTab & "Thank you."
olMail.Display

End Sub

从第2行开始,要添加列a,b和g

样本电子表格

enter image description here

1 个答案:

答案 0 :(得分:0)

您需要生成格式正确的HTML字符串,然后将其分配给HTMLBody属性。

但是最简单的解决方案是使用Word对象模型复制范围并将其粘贴到电子邮件中。

Outlook对象模型提供了三种处理项目正文的主要方法:

  1. Body-一个字符串,代表Outlook项目的明文正文。
  2. HTMLBody-表示指定项目的HTML正文的字符串。
  3. Word editor-显示的消息的Microsoft Word文档对象模型。 WordEditor类的Inspector属性从Word对象模型返回Document类的实例,您可以使用该实例来设置消息正文。 您可以在Chapter 17: Working with Item Bodies中详细了解所有这些方式。