【发布时间】:2018-03-16 14:46:04
【问题描述】:
我需要根据 B 列单元格中的内容附加多个文件。
Sub EmailTest()
Dim OutLookApp As Object
Dim OutLookMailItem As Object
Dim lastRow As Long
Dim MailDest As String
Dim subj As String
lastRow = ThisWorkbook.Worksheets("Sheet1").Cells(Rows.Count,"A").End(xlUp).Row 'change worksheet as needed
For i = 2 To lastRow
Set OutLookApp = CreateObject("Outlook.application")
Set OutLookMailItem = OutLookApp.CreateItem(0)
Set Attach = OutLookMailItem.Attachments
With OutLookMailItem
.To = Cells(i, 1).Value
.Subject = "Test"
.Body = "Testing an email macro, just delete me"
On Error Resume Next
Attach.Add [F2] & Cells(i, 2).Value & ".xlsx" 'change cell reference in brackets as needed
.Display
On Error GoTo 0
'.Send
End With
Next
End Sub
我找到了下面的链接,但我做了一些不成功的尝试。
Adding multiple attachments to a single email using outlook VBA
在 B 列中,我想输入 Book2、Book3 和代码以了解这是两个不同的附件。可能会有更多附件,这就是为什么我想使用 Attachments = Split 的一些变体。
在单元格 F2 中,我有一个连接公式,允许用户在不了解 VBA 的情况下更改代码引用的文件路径。
【问题讨论】:
-
您是否有一个单元格包含附件列表作为逗号分隔列表?这是您需要获取(或创建)然后拆分并循环添加为附件的内容。
-
您只想发送一封带有多个附件的电子邮件吗?好像没有。