无法发送在Excel单元格中命名的文件附件

我对VBA编程有点新,所以请耐心等待。 我试图通过一个标准的电子邮件,而不是一个个性化的审计备忘录来自动化我的组织部门负责人的电子邮件。 发送给某个人的每封电子邮件也应包含相应的附件。

我有一个包含三列的电子表格:姓名,电子邮件地址以及我要分别在A,B和C中附加的文件的位置。 我代表这是我可以在下面最好的。

甲………………..乙………………Ç

名称………….电子邮件附件…………

John Smith ….. a@b.com ….. Q:\ PLIU \ File1

Jane Smith ….. c@d.com ….. Q:\ PLIU \ File2

Jimm Smith ….. e@f.com ….. Q:\ PLIU \ File3

这是我到目前为止的代码,但我无法弄清楚如何将文件写入附件列,因为debugging给了我“找不到这个文件,validationpath和文件名是正确的。

Sub AttachSend() Dim objMail As Outlook.MailItem Dim intX As Integer Dim FileCount As Integer Dim MailAttachment As String Dim MailAddress As String FileCount = Application.WorksheetFunction.CountA(Range("C2:C200")) For intX = 1 To FileCount MailAttachment = Application.Cells(intX, 3).Value MailAddress = Application.Cells(intX, 2).Value Set objMail = Outlook.Application.CreateItem(olMailItem) objMail.Subject = "My subject line" objMail.Body = "My message body" objMail.To = MailAddress objMail.Attachments.Add "MailAttachment" objMail.Send Set objMail = Nothing Next End Sub 

提前致谢!

删除"MailAttachment"附近的引号。 您想要使用MailAttachmentvariables,但是当前您使用的是string“MailAttachment”,当然这不是作为磁盘上的文件存在的。

  MailAttachment = Application.Cells(intX, 3).Value MailAddress = Application.Cells(intX, 2).Value Set objMail = Outlook.Application.CreateItem(olMailItem) objMail.Subject = "My subject line" objMail.Body = "My message body" objMail.To = MailAddress objMail.Attachments.Add MailAttachment `Remove quotes on this line