How to send email with multiple attachments attached in Excel?
This article is talking about sending an email through Outlook with multiple attachments attached in Excel.
Send email with multiple attachments attached in Excel with VBA code
Send email with multiple attachments attached in Excel with VBA code
Please do as follows to send an email with multiple attachments attached in Excel.
1. Please insert a command button by clicking Developer > Insert > Command Button (ActiveX Control). See screenshot:
2. After inserting the Command Button, please right click it and select View Code from the context menu.
3. In the opening Microsoft Visual Basic for Applications window, please click Tools > References as below screenshot shown.
4. In the References – VBAProject dialog box, please find and check the Microsoft Outlook Object Library option, and then click the OK button.
5. Then replace the original code in the Code window with below VBA code.
VBA code: Send email attached with multiple attachments in Excel
Private Sub CommandButton1_Click()
Dim xStrFile As String
Dim xFilePath As String
Dim xFileDlg As FileDialog
Dim xFileDlgItem As Variant
Dim xOutApp As Outlook.Application
Dim xMailOut As Outlook.MailItem
Application.ScreenUpdating = False
Set xOutApp = CreateObject("Outlook.Application")
Set xMailOut = xOutApp.CreateItem(olMailItem)
Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
If xFileDlg.Show = -1 Then
With xMailOut
.BodyFormat = olFormatRichText
.To = ""
.Subject = "test"
.HTMLBody = "test"
For Each xFileDlgItem In xFileDlg.SelectedItems
.Attachments.Add xFileDlgItem
Next xFileDlgItem
.Display
End With
End If
Set xMailOut = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub
Note: please specify your email recipient, subject, and body by changing the variate in .To = , .Subject = "test" and .HTMLBody = "test" lines in the code.
6. Press the Alt + Q keys together to exit the Microsoft Visual Basic for Applications window.
7. Click Developer > Design Mode to turn off the Design Mode. See screenshot:
8. Click the Command Button to run the code. In the popping up Browse window, select the files you need to attach in the email, and then click the OK button. See screenshot:
9. Then an email is created with specified fields and attachments listed out. Please click the Send button to send it. See screenshot:
Note: The VBA code is only working when you use Outlook as your email program.
Easily send email through Outlook based on fields of created mailing list in Excel:
The Send Emails utility of Kutools for Excel helps users sending email through Outlook based on created mailing list in Excel.
Download and try it now! (30-day free trail)
Related articles:
- How to send email to email addresses specified in cells in Excel?
- How to send email with copying and pasting a specified range into email body in Excel?
- How to insert signature into Outlook email when sending by vba in Excel?
- How to send email if due date has been met in Excel?
- How to automatically send email based on cell value in Excel?
Best Office Productivity Tools
Supercharge Your Spreadsheets: Experience Efficiency Like Never Before with Kutools for Excel
Kutools for Excel boasts over 300 features, ensuring that what you need is just a click away...
Supports Office/Excel 2007-2021 & newer, including 365 | Available in 44 languages | Enjoy a full-featured 30-day free trial.
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
- Open and create multiple documents in new tabs of the same window, rather than in new windows.
- Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!














