How To Send Email From Excel Automatically

Vba Property To Request A Read Receipt

Send Emails from Excel – Automatically and Manually (Macro & Non-Macro Solution)

The MailItem.ReadReceiptRequested property allows you to request a Read Receipt.

The basic syntax of this property is the following:


expression is a MailItem object.

You can set the value of the ReadReceiptRequested property to True in order to request a read receipt.

Now that you know what are the most commonly used VBA methods and properties that you can use for purposes of creating an email with Outlook, let’s take a look at how you can access those VBA constructs from Excel.

Enable How To Email An Excel Spreadsheet

  • We will save our Excel file using the Ctrl + S shortcut.
  • We will go to the Quick Access Toolbar at the top of the Excel worksheet. Next, we will click on the arrow next to the Save file box.

Figure 2 Emailing Excel Spreadsheets

  • In the drop-down menu, we will mark the Email option

Figure 3 How to email an excel file

  • The Email icon will appear in the Quick Access Toolbar.

Figure 4 How to send excel file to an email

Macro Way Of Sending Emails From Excel

The Macro part is a bit more complicated in fact, yet allows you to do more things as well. VBA is the key player here. It makes everything automatic and is able to send emails to multiple users at a time. You can send anything from a cell to anybody and do lots of different things with only a couple of coding. Coding means writing your own functions. Again, ensure first that Outlook is configured on your computer. Then follow the necessary steps to arrange your VBA.

1. Open Macro on your Excel sheet. You can use the shortcut Alt+F11 to open the VBA window.2. You need to set Outlook as your reference. Go to Tools > References and select Microsoft Outlook 16.0 Object Library from the available references.3. Coding part comes to the stage now.

a. Start with sub procedure. Type the following code into the window and enter.

Sub send_email

b. To declare the Outlook application, set an object by using the CreateObject function. Type the relevant codes below.

Dim emailApp As Object

c. To declare the email item, set an objective for that as well.

Dim emailItem As ObjectSet emailItem = emailApp.CreateItem

d. Time for building the email. Enter the codes for each item in the email. If you need to add more addresses, separate them with .

To attach files to the email, type a similar code as follows.

emilItem.Attachments.Add ActiveWorkbook.FullName = Range.Value

e. Now you can send the email but you have two options for sending.

Either send the email directly with:

Don’t Miss: How Do I Find My Icloud Email

Create The Email Template For Each Row Of Data

Now we are ready to add our email step after the delay. This will be added inside the Apply to Each step since we want to send an email for each row of the data in our table.

Press the Add an action button found inside the Apply to each step.

This time we can search for Outlook to narrow down the results and choose the Office 365 Outlook Send an email action.

We can then create an email template, referencing fields from our data where appropriate. In the To input section we would add our Email Address field from our data since this contains the email address to which we want to send the email.

Send Emails With Attachments From Excel Using Vba And Outlook

How to send email reminder automatically from Excel ...

Using VBA, you can write small programs that will transform Excel worksheets into a very dynamic application. IĆ¢ll show you how to automate Office Outlook using VBA.

Automation is a process where an application gets access to methods and properties of another application.

To get access to Outlook methods and properties, we have to create an instance of Outlook. To initialize the Outlook application, we will use the CreateObject function to create an object of the application.

Dim objOutlook as Object Set objOutlook = CreateObject

Important Note: Before reading this article further, you must first configure Microsoft Office Outlook in your computer. Else, the code example that I am going to show you here will not produce the desired result.

Read Also: Whats Cc Mean On Email

Make Microsoft Excel Work For You

Microsoft Excel is an incredibly powerful tool, but learning how to get the most out of it can be a little intimidating. If you want to truly master the software, you’ll need to be comfortable with VBA, and that’s no small task.

However, the results speak for themselves. With a little VBA experience under your belt, you’ll soon be able to make Microsoft Excel perform basic tasks automatically, giving you more time to concentrate on more pressing matters.

It takes time to build expertise with VBA, but you’ll soon see the fruits of your labors if you can stick with it.

One great place to start is our authoritative tutorial on using VBA in Excel. Once you’re done with that, this simple script to send emails from Excel will feel like child’s play.

How To Send Email If A Certain Cell Is Modified In Excel

This article is talking about sending email through Outlook if any cell in a certain range is modified in Excel.

If you need to create a new email automatically with active workbook attached when cells in range A2:E11 are modified in a certain worksheet, the following VBA code can help you.

1. In the worksheet which you need to send email based on its modified cell in a certain range, right-click the sheet tab and then click the View Code from the context menu. See screenshot:

2. In the popping up Microsoft Visual Basic for Applications window, please copy and paste below VBA code into the Code window.

VBA code: Send email if cell in a specified range is modified in Excel


3. Press the Alt + Q keys simultaneously to close the Microsoft Visual Basic for Applications window.

From now on, any cell in range A2:E11 is modified, a new email will be created with the updated workbook attached. And all specified fields such as subject, recipient and email body will be listed in the email. Please send the email.

Note: The VBA code is only working when you use Outlook as your email program.

Related articles:

Don’t Miss: Where Can I Print Out An Email

What Is The Outlook Object Model

You can think of a VBA object model as a hierarchy that contains all the objects you can work with.

Within such a hierarchy, there’s an object at the top. That object may contain other objects. Those objects may, in turn, contain other objects.

You probably see the pattern there

In more general terms, each object can contain other objects. If you continue going down the hierarchy, you eventually find an object that doesn’t hold other objects.

Even though the components of the Excel and Outlook object models differ, the basic idea behind them is pretty much the same.

The object at the top of the Outlook hierarchy is Outlook itself or, more precisely, the Application object. In other words, the Application object represents the Outlook application.

This is similar to what happens with the Excel object model. In Excel, the object at the top of the hierarchy is also the Application object. In this case, the Application object represents the Excel application.

The Outlook Application object has several useful purposes. For this VBA tutorial, the following 2 are particularly important:

  • Purpose #1: Since the Outlook Application object is at the top of the hierarchy, it’s the root from which you access the other objects within the Outlook object model.
  • Purpose #2: It has the CreateItem method . CreateItem allows you to create an Outlook item without having to go through the whole object model hierarchy.

Vba Method To Add Email Attachments

Send Emails from Excel with Power Automate

For purposes of adding attachments to your email, you can use the MailItem.Attachments property. This property returns an Attachments object. Its basic syntax is as follows:


expression is a MailItem object.

In turn, the Attachments object is the collection of Attachment objects of a particular Outlook item .

Finally, the Attachment object represents a document or link to a document within an Outlook item .

This may sound complicated

However, for purposes of this VBA tutorial, you only need to familiarize yourself with one particular construct:

The Attachments.Add Method

You can use the Attachments.Add method for purposes of adding a new Attachment object to the Attachments collection.

The basic syntax of Attachments.Add is the following:


expression represents an Attachments object. The 4 parameters of the Add method are the following:

  • Parameter #3: Position.Position is an optional parameter that applies solely when you’re working with Rich Text as body format . If you use Position, it allows you to specify the position where the attachment is placed within the body of the message. If that’s the case, you’re likely to use 1 of the following 3 values:
  • 0: Hides the attachment.
  • 1: Positions the attachment at the beginning of the body.
  • A value greater than the number of characters in the body of the message: Places the attachment at the end of the body.
  • Recommended Reading: Hi Professor Email

    The Solution Automating Emails From Excel

    We are all programmers now

    Fun fact: Excel has evolved significantly over its rich 35-year history. This underscores one of Excels biggest competitive advantages? We can take the best of the old and the new, and make it work in almost any given context.

    To illustrate, lets compare two very different Excel technologies we could adapt to help us with automating emails from Excel: VBA or Power Automate. It is not a comprehensive comparison, but it does remind us of Excels powerful adaptability across a wide range of constraints you might encounter.

    Less information found online, likely because it is still relatively undiscovered

    It bears repeating that context is everything. Tradeoffs must be evaluated in every situation. For our tutorial today, well focus on automating emails from Excel using a tried-and-true VBA solution.

    How To Auto Send Emails With Details In Power Bi

    “You could use Paginated Reports to get this done by connecting it to the same dataset. And then using the Subscription email from Paginated reports and attach the Excel file.”

    Best Regards,

    Community Support Team _ JoeyIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

    “You could use Paginated Reports to get this done by connecting it to the same dataset. And then using the Subscription email from Paginated reports and attach the Excel file.”

    Best Regards,

    Community Support Team _ JoeyIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

    Hi ,

    Do you want to view the data or you need to edit the data, if you just want to view the data, you can try to , you will receive an email with a snapshot of the report page or dashboard, with a link to open the report or dashboard. If you want the data to be editable, you need to open the report and select export data

    Best Regards,

    Community Support Team _ JoeyIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

    Also Check: How To Remove Duplicate Emails In Outlook

    Adding Our Flow Trigger

    The first thing we need to do when creating our flow is add a trigger. This is exactly what it sounds like, its something that will trigger the flow to execute.

    In this case, were going to create a button that we can press from the Microsoft Flow app to run the flow.

  • Search for button to narrow down the list of available triggers and find the mobile button.
  • Select Flow button for mobile from the connection options.
  • Choose the Triggers section of the results. Each connection might have several trigger and action options available.
  • Click on the Flow button for mobile trigger.
  • Vba Code To Send Email From Excel Using Early Binding

    How to send email reminder automatically from Excel ...

    The following sample macro sends an email message with the active workbook as an attachment. This VBA Sub procedureuses early binding. You can find the equivalent version below.

    If you use early binding , you must create a reference to the Microsoft Outlook Object Library by following the indications I provide above.

    In order to understand what this macro does exactly, let’s take a look at each of the lines of code:

    Line #1: Dim outlookApp As Outlook.Application

    The purpose of this line of code is to create a variable that represents the Outlook application.

    Line #2: Dim outlookMail As Outlook.MailItem

    The main purpose of this line of code is to create a variable that represents the email message that the sample macro creates and sends.

    Line #3: Set outlookApp = New Outlook.Application

    Uses the Set statement to assign a new instance of the Outlook application to the outlookApp object variable.

    In practical terms, this line of code #3 does 2 things:

    • #1: Creates a new instance of Outlook. This is achieved by New Outlook.Application.
    • #2: Assigns this new instance to the outlookApp object variable. For these purposes, the equal sign acts as an assignment operator. In other words, it assigns the expression to its right side to the variable to its left side .

    Line #4: Set outlookMail = outlookApp.CreateItem

    Uses the Set statement to assign a new email item to the outlookMail variable. The new email item is created by using the CreateItem method.

    Line #16: .Send

    You May Like: How To Send Picture From Android To Email

    Why Use Excel To Send Emails

    There could be multiple reasons for which you might want to send an email in excel. A few of them are:

    • Suppose you have a team that updates spreadsheets or documents monthly, and you want to get an alert message when those updates are complete. This is a simple case where you can use VBA to send automated emails.
    • Let’s say you have a list of customer names in a column in Excel, and you have the file path of a related file for each of the customers in another column. Your task is to send one email to each customer and attach the correct file. This is another example of using VBA to trigger automated emails.

    How Does The Template Work

    This tool is very simple to use.

    Options:The e-mail options on the worksheet are:

    • To: e-mail addresses separated by a semicolon
    • CC: e-mail addresses separated by a semicolon
    • BCC: e-mail addresses separated by a semicolon
    • Subject: text string to be used as the subject name
    • Message: text string to be used in the message
    • Attachments: full file paths of the files to be used as attachments, separated by the attachment separator
    • Attachment separator: the character or characters used to separate the list of attachments
    • Send / Display / Save: The option to leave the e-mail displayed, to save and close or to automatically send the e-mail.

    Hopefully these options are all reasonably straightforward.

    Add new lines:To add a new line can copy and paste one of the lines from above, then change the information in that line as required.

    Once the list is ready, click Run. The process will start at the top and keep working down the list until it reaches a blank cell in Column B.

    Also Check: How To Email A Video That Is Too Large

    Popular Articles

    Related Stories

    Stay on top - Get the daily news in your inbox