我需要仔细检查每一行数据,并将整行数据通过电子邮件发送给每个人,分别提供他们的统计数据。
A 栏中的电子邮件地址将用于电子邮件
.To
,TM 电子邮件地址将用于.CC
。
数据:
我设法在网上找到了一些东西。故障发生在
.body
线上。
Sub test2()
Dim OutApp As Object
Dim OutMail As Object
Dim cell As Range
Application.ScreenUpdating = False
Set OutApp = CreateObject("Outlook.Application")
For Each cell In Worksheets("Sheet1").Columns("A").Cells
Set OutMail = OutApp.CreateItem(0)
If cell.Value Like "?*@?*.?*" Then
With OutMail
.To = Cells(cell.row, "A").Value
.CC = Cells(cell.row, "B").Value
.Subject = ""
.Body = Cells(cell.row, "C:O")
.Display
End With
Cells(cell.row, "P").Value = "sent"
Set OutMail = Nothing
End If
Next cell
Set OutApp = Nothing
Application.ScreenUpdating = True
End Sub
我意识到你无法将整行数据放入电子邮件中。
我开始使用 RangeToHTML。现在标题和数据行不匹配,因为它们必须分开:
是否最好编写代码来过滤数据表并将 RangeToHTML 复制到电子邮件中,以便将范围保持为一个以包含标题?如果是这样,我将如何循环遍历名称的每个过滤器?每组数据的名称都会发生变化,并且可能有超过 100 行。
要获取正文的内容,请使用以下命令:
Application.WorksheetFunction.TextJoin(vbTab, False, Cells(cell.Row, 3).Resize(, 13))
Cells(cell.Row, 3).Resize(,13)
返回您想要的范围TextJoin
将所有单元格值与选项卡组合起来。.Body = Cells(cell.row, "C:O")
由于两个原因引发错误: