【发布时间】:2015-05-28 21:35:35
【问题描述】:
我有从 Excel 文件中的表格发送邮件的现有代码 -
Sub CreateMail()
Dim objOutlook As Object
Dim objMail As Object
Dim rngTo As Range
Dim rngSubject As Range
Dim rngBody As Range
Dim rngAttach As Range
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
Application.ScreenUpdating = False
Worksheets("Mail List").Activate
With ActiveSheet
Set rngTo = .Range("B1")
Set rngSubject = .Range("B2")
Set rngBody = .Range("B3")
Set rngAttach = .Range("B4")
End With
With objMail
.To = rngTo.Value
.Subject = rngSubject.Value
.body = rngBody.Value
.Attachments.Add rngAttach.Value
.display 'Instead of .Display, you can use .Send to send the email _
or .Save to save a copy in the drafts folder
End With
Set objOutlook = Nothing
Set objMail = Nothing
Set rngTo = Nothing
Set rngSubject = Nothing
Set rngBody = Nothing
Set rngAttach = Nothing
End Sub
但是,我想包含一些附件,因此
Set rngAttach = .Range("B4") 无济于事。
对此有任何帮助吗? 提前致谢!
【问题讨论】:
-
B4中有什么 - 文件路径? -
循环遍历文件路径范围并依次添加每个路径。
-
您可以多次使用
.Attachments.Add来添加每个附件。每次都可能使用循环将其引用到不同的路径。 -
@brettdj 是的,B4 有一个文件路径,我在 B5、B6 中也有多个路径,等等
-
@Rory 你能帮我写代码吗?