如何使用excel vba发送动态电子邮件附件

时间:2015-12-09 20:05:16

标签: vba excel-vba excel-2010 excel

我正在尝试使用Excel VBA发送和发送电子邮件和附件(如excel工作表)。我还希望附件是动态的,包括每个收件人的电子邮件地址。目前我有以下代码:

For i = 1 To ecount
    Excel.Range("current").Value = i
    Dim OutApp As Object
    Dim OutMail As Object
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    On Error Resume Next

    name = Application.WorksheetFunction.Index(Sheet1.Range("B5:b11"), i)
    Excel.Range("interviewer").Value = name
    Worksheets(2).Calculate

    With OutMail
        .to = name
        .CC = ""
        .BCC = ""
        .Subject = "Talent Scorecard"
        .HTMLBody = ebody
        .Attachments.Add ActiveWorkbook.FullName
        .Send
    End With

    Next i
    On Error GoTo 0
    Set OutMail = Nothing
    Set OutApp = Nothing

我的名称变量包含每个收件人的电子邮件地址。我试图通过使用新名称值更新工作表中包含的访问者范围来更新For循环的每次迭代的名称。问题是即使我使用新的电子邮件地址成功更新工作表,所有电子邮件附件都包含我列表中第一个收件人的名称。我几乎得到的印象是我的代码永远不会更新附件。

有没有人对我出错的地方或任何想法有任何经验。谢谢你的帮助。

0 个答案:

没有答案