【发布时间】:2018-12-17 02:55:46
【问题描述】:
我想将邮件发送给 Col A 中的每个收件人(单独的邮件),Col B 中的主题,以及 Excel 中从 Col D 到 Col I 的数据作为邮件正文。
我找到了以下代码,该代码适用于电子邮件地址和主题。
在正文中,它仅从一列(Col D)中挑选数据。如何使用格式更新正文中的范围 D2:I2?
Option Explicit
Sub Sample()
Dim OutApp As Object, OutMail As Object
Dim ws As Worksheet
Dim i As Long, lRow As Long
Set OutApp = CreateObject("Outlook.Application")
Set ws = ThisWorkbook.Sheets("Sheet1")
With ws
lRow = .Range("A" & .Rows.Count).End(xlUp).Row
For i = 1 To lRow
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = ws.Range("B" & i).Value
.Cc = ""
.Subject = ws.Range("C" & i).Value
.Body = ws.Range("D" & i).Value
.Display
End With
Next i
End With
End Sub
Excel 示例数据
【问题讨论】:
-
带格式?您要保留什么格式?单元格边界?因为这是 D2:I2 范围内的唯一格式,如果需要,您需要将范围转换为 HTML。有一些函数可以做到这一点,但对于单一的、短线的数据来说似乎有点过分了。
标签: excel excel-2010 outlook-2010 vba