发送带有多个附件的电子邮件

问题描述 投票:0回答:1

我正在使用以下代码发送电子邮件。

我要阅读多个查找附件的单元格

For i = 2 To n
    Set msg = outlook.createitem(0)
        
    msg.SentOnBehalfOfName = sheet.Range("F" & i).Value
    msg.To = sheet.Range("G" & i).Value
    msg.cc = sheet.Range("H" & i).Value
    msg.Subject = sheet.Range("I" & i).Value
    msg.body = sheet.Range("J" & i).Value
    If sheet.Range("K", i).Value <> "" Then
    msg.attachments.Add sheet.Range("K" & i).Value
    msg.Show

Next i

它确实适用于任何类型的单个附件。t

多个文件如何修改?

我尝试了一个嵌套的 for 循环,但找不到任何结果。

示例文件路径。

vba outlook email-attachments
1个回答
0
投票

如果下一列包含附件路径,您可以添加另一个 if 条件来附加那里指定的文件。

For i = 2 To n
    Set msg = outlook.createitem(0)
        
    msg.SentOnBehalfOfName = sheet.Range("F" & i).Value
    msg.To = sheet.Range("G" & i).Value
    msg.cc = sheet.Range("H" & i).Value
    msg.Subject = sheet.Range("I" & i).Value
    msg.body = sheet.Range("J" & i).Value

    If sheet.Range("K", i).Value <> "" Then
      msg.attachments.Add sheet.Range("K" & i).Value
    
    If sheet.Range("L", i).Value <> "" Then
      msg.attachments.Add sheet.Range("L" & i).Value

    If sheet.Range("O", i).Value <> "" Then
      msg.attachments.Add sheet.Range("O" & i).Value

    msg.Show

Next i

因此,您可以将其进一步推断到工作表上的其他列。

© www.soinside.com 2019 - 2024. All rights reserved.