2016-12-02 68 views
1

我希望有人能夠提供幫助。使用excel在自動電子郵件中發送多個附件

我在excel中有一個宏,它查看一列電子郵件地址,並將一個單獨的電子郵件發送到具有指定附件的那些地址。 該宏可以很好地工作,但是我不確定如何調整宏以便能夠在同一封電子郵件中發送兩個附件。

請幫忙。 完整的代碼是;

Sub Send() 
'Working in Excel 2000-2016 
Dim OutApp As Object 
Dim OutMail As Object 
Dim sh As Worksheet 
Dim cell As Range 
Dim FileCell As Range 
Dim rng As Range 

With Application 
    .EnableEvents = False 
    .ScreenUpdating = False 
End With 

Set sh = Sheets("Email") 

Set OutApp = CreateObject("Outlook.Application") 

For Each cell In sh.Columns("B").Cells.SpecialCells(xlCellTypeConstants) 

    'Enter the path/file names in the C:Z column in each row 
    Set rng = sh.Cells(cell.Row, 1).Range("C1:Z1") 

    If cell.Value Like "?*@?*.?*" And _ 
     Application.WorksheetFunction.CountA(rng) > 0 Then 
     Set OutMail = OutApp.CreateItem(0) 

     With OutMail 
      .To = cell.Value 
      .Subject = cell.Offset(0, 7).Value 
      .HTMLBody = "<html><body><p>Hello " & cell.Offset(0, -1).Value & "<p></p>" _ 
      & cell.Offset(0, 2).Value & "</p><p>" _ 
      & cell.Offset(0, 3).Value _ 
      & Signature & "</body></html>" 

      For Each FileCell In rng.SpecialCells(xlCellTypeConstants) 
       If Trim(FileCell) <> "" Then 
        If Dir(FileCell.Value) <> "" Then 
         .Attachments.Add FileCell.Value 
        End If 
       End If 
      Next FileCell 

      .Send 
      '.Display 
     End With 

     Set OutMail = Nothing 
    End If 
Next cell 

Set OutApp = Nothing 
With Application 
    .EnableEvents = True 
    .ScreenUpdating = True 
End With 
End Sub 
+0

不與你的附件問題運行兩次

.Attachments.Add FileCell.Value 

線,但要知道在你的'.HTMLBody'行你的HTML語法不對,交換'

'與'

' –

回答