【发布时间】:2015-02-13 01:11:54
【问题描述】:
我正在从 excel 文档自动生成 VBA 电子邮件附件脚本。数据集是这样的
File Name Email Body
Sample 1 john@ Hello!
Sample 2 mary @ Hello!
我正在尝试做的是告诉 excel 在“电子邮件”列下为每个人创建一封电子邮件,然后在电子邮件正文的“正文”列中写入文本,然后在“文件名”列下找到并附加一个文件名。所以 John@ 会收到一封正文为“你好!”的电子邮件。和示例 1 附件。
这将需要三个单独的循环,这让我感到困惑:
到目前为止,这是我的代码,但所做的只是找到附件:
Sub Attachment()
Dim colb As Range, mycell As Range, mycell2 As Range, mycell3 As Range
Set colb = Range(Range("B2"), Range("B2").End(xlDown))
Set colc = Range(Range("C2"), Range("C2").End(xlDown))
Set cold = Range(Range("D2"), Range("C2").End(xlDown))
For Each mycell In colb
Dim path As String
path = mycell.Value
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set OutMail = OutApp.CreateItem(0)
Set myAttachments = OutMail.Attachments
On Error Resume Next
With OutMail
.To = ""
.CC = ""
.BCC = ""
.Subject = "Test"
.Body = ""
.Display
End With
On Error GoTo 0
myAttachments.Add "C:\R\" & path
Set OutMail = Nothing
Set OutApp = Nothing
Next
结束子
【问题讨论】:
-
这些列是 a、b、c 列还是 b、c、d 列?