You are here:

Excel/send an email notification from excel - macro

Advertisement


Question
Hello there and I apriciate your help in advance!
I have an excel file, that everytime it's open I would like it to send and email notification through microsoft outlook to my email address.
I have research the issue and I have come up with the following macro, but I get a run time  error 287 even after I include the outlook libary, also when I debug it says that the ".send" is the issue. By the way I have office 2007. Can you help?
Private Sub Workbook_Open()
Dim objOutlook As Outlook.Application
   Dim objOutlookMsg As Outlook.MailItem
   Set objOutlook = CreateObject("outlook.application")
   Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
   With objOutlookMsg
       .Subject = "Put this text in subject line"
       .Body = "Put this text in body of email"
       .To = ""
       .Send
   End With
   End Sub

Answer
Your procedure is trying to send an email without a recipiant (i.e., the "To" field is blank). So you must use:

Sub send_an_email()
   Dim objOutlook As Outlook.Application
   Dim objOutlookMsg As Outlook.MailItem
   Set objOutlook = CreateObject("outlook.application")
   Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
   With objOutlookMsg
       .Subject = "Put this text in subject line"
       .Body = "Put this text in body of email"
       .To = "someone@gmail.com"
       .Send
   End With
End Sub

where "someone@gmail.com" is the actual email address you want to send to.
About Excel
This topic answers questions related to Microsoft Excel spreadsheet (or workbook) stand-alone or Mircrosoft Office Excel including Excel 2003, Excel 2007, Office 2000, and Office XP. You can get Excel help on Excel formulas(or functions), Excell macros, charting in Excel, advanced features, and the general use of Excel. This does not provide a general Excel tutorial nor the basics of using a spreadsheet. It provides specific answers to using Microsoft Excel only. If you do not see your Excel question answered in this area then please ask an Excel question here

Excel

All Answers


Answers by Expert:


Ask Experts

Volunteer


Stuart Resnick

Expertise

I can answer questions relating to MS Excel formulas, or to programming with vba (Visual Basic for Applications) in the Excel environment. Please follow the following guidelines: your question should focus on one specific issue you want to learn. It's beyond the scope of this free service for me to create entire projects or complex vba solutions for you from scratch. You should be able to do most of the work yourself, and come here when you need help with a specific point you're stuck on. ALWAYS include a simple, concrete example illustrating what you want to learn. Explain this example in detail in the text of your question (what data is in which cells of which sheets, etc). Be very precise about the results you want, using this sample to make the logic clear. Always keep these examples SIMPLE. Never e.g. use 18 worksheets in your example if using 2 or 3 will do. Never use ranges like AI567:BB865 if using a range like A1:B3 will do. Thanks.

Experience

As a consultant, I've designed Excel tools since the 90s, working for the Federal Reserve Bank, AT&T, and (currently) Gap Inc.

Education/Credentials
My only "education" comes from 2 decades of doing spreadsheet/programming work, with major SF Bay Area corporations such as AT&T, Federal Reserve Bank, and Gap Inc.

©2016 About.com. All rights reserved.