遍历文件夹并创建 Outlook 电子邮件

Loop through folder and create Outlook emails

我有一个路径 T:\Fin\Reports\Final 报告

我每个月都会为小组保存不同的报告。文件保存为组名:Acct、Pal、Mg、Qrt 等

我有一个图表,我计划在其中构建我的 VBA,在单元格 G2 中有组代码,在单元格 H2 中有文件需要发送到的电子邮件地址。

例如:

我有这个用于创建电子邮件的股票代码。我如何实现 for loop 以便循环遍历文件夹中的所有文件并为每个组创建单独的电子邮件并发送到正确的电子邮件地址?

Set xOutlookObj = CreateObject("Outlook.Application")
Set xEmailObj = xOutlookObj.CreateItem(0)

With xEmailObj
    .Display
    .To = Range("H2")
    .CC = ""
    .Subject = "Monthly Report"
    .Attachments.Add ??????
End With

像这样:

Const FPATH As String = "T:\Fin\Reports\Final Reports\"

Dim rw As Range, xOutlookObj, xEmailObj, attPath 

Set xOutlookObj = CreateObject("Outlook.Application")

Set rw = Thisworkbook.Worksheets("Info").Range("G2:H2")

do while application.counta(rw) = 2 'loop over rows while have content

    Set xEmailObj = xOutlookObj.CreateItem(0)
    With xEmailObj
        .To = rw.cells(2).value
        .CC = ""
        .Subject = "Monthly Report"
        attPath = FPATH & rw.cells(1).value & ".xlsx"
        Debug.Print rw.cells(2).value, attPath
        .Attachments.Add attPath
        .Display
    End With
   
    Set rw = rw.offset(1, 0)
loop