
Download and unzip the course resources, then follow the chapter workbooks to learn Excel VBA and Outlook automation, including automating emails, calendar items, tasks, and contacts.
Master the Outlook application object, its folder system and namespace, and how to reference the Microsoft Outlook object library for early binding.
Explore the create item method in Outlook VBA, selecting item types, using late binding and numeric values, and creating a new mail item with a referenced Outlook object.
Troubleshoot horribly slow Excel VBA code by selectively disabling Outlook add-ins via File > Options > Add-ins, using Manage and Go, then re-run to boost performance.
Create a new email using the create item method by instantiating the Outlook application and creating a mail item, then display the email. Early and late binding are discussed later.
Learn how late binding with createObject lets VBA apps work across Outlook versions, avoiding missing libraries, and compare its flexibility to early binding's speed, intelligence, and constants.
Set up public constants that mirror the built-in Outlook constants to soften late binding, and place them in a declarations module for cross-module use, e.g., mail item equals zero.
Discover how to use conditional constants to switch between late binding and early binding in outlook VBA, enabling global, compile-time declarations that simplify macros and reduce duplicate code.
Learn to access the Outlook namespace in VBA using get namespace, explore MAPI folders, and use get folder from ID to reach the default folder and others.
Learn to create a new Outlook email using GetDefaultFolder with late binding, navigate to the Inbox, and add recipients and subject components in VBA.
Create a new Outlook mail item and populate the to field with recipients, including optional name and reply address in brackets; use semicolons or distribution groups for multiple addresses.
Master adding cc and bcc recipients in Outlook with VBA using a with end with pattern to reuse a single mail item, set recipients, subject, and options efficiently.
Learn to set high, normal, or low message importance in Outlook and enable read receipt and originator delivery report requests via a VBA macro.
Set the email subject and body as text strings in VBA, build a multi-line body with vbNewLine or vbCrLf to create new lines, and display the test email for review.
Learn to save an Outlook email as a draft with a VBA macro by using dot save, then verify the draft in the drafts folder of the default account.
Schedule Outlook emails by setting deferred delivery times in the outbox, using delay delivery controls or VBA's date add function to specify when to send.
Create a burner email for testing by using a temporary email service, log in and out, verify with a captcha, and send a test message.
Run a VBA macro to send an email automatically from Outlook using a temporary burner address. Learn immediate sending and handling Outlook security prompts.
Learn how to stop Outlook warnings when Excel or programs access the email client, using tools like click yes and ensuring antivirus is up to date with Windows Defender.
Learn how to send emails from an alternate account in Excel VBA for Outlook by setting a sender name and address, and compare deprecated methods to newer approaches.
Master Excel VBA with Outlook to send from a non-primary account by looping through accounts and using send using account to target energy freedom dan at gmail dot com.
Learn to send html emails from Outlook using excel vba by switching the mail body to html format and applying html styling with tags.
Explore customizing Outlook HTML emails with VBA, using the H2 body tag and a red span, and verify changes via the immediate window.
Use a free online HTML email editor to craft and preview email elements, copy and paste code, and learn how to handle quotes and multi-line HTML bodies for VBA projects.
Master Excel VBA techniques to handle large HTML bodies by pasting into a worksheet cell, naming ranges with ctrl+shift+f3, and using the range object to pull data.
Discover loading HTML or text data into Excel with VBA, using a Get boiler function to read a text file via Get Open File Name or a file system object.
Demonstrates adding a VBA email signature by building a signature string with line breaks and joining phrases, then appending it, and comparing with the default signature.
Learn how to automatically insert the default Outlook signature when composing emails with VBA, using get inspector to load the mail item and preserve the signature in the HTML body.
Create a new signature, switch away from the default, and pull its content from a signature file in the app data roaming signatures folder for Outlook.
Access Outlook folders by name using VBA, leveraging get namespace and folder paths, then target a specific subfolder and loop through its items.
Loop through emails in a folder with VBA using for each or count, access each mail item, check the sent on behalf of field, then reply or delete.
Master locating emails with the find method, building a filtered list, and looping via find next, while leveraging subject, sender name, and date-range filters.
Master how to filter Outlook items using the restrict method. Build a collection of matching emails and move them to a folder efficiently with for each or for next loops.
Determine whether an outlook folder exists and create it programmatically if missing, using a vba macro that checks, creates, and moves items in the outlook folders.
Learn to locate Outlook items by their unique entry id using a mapped namespace and optional store id to quickly retrieve a mail, appointment, or contact.
Set the default inbox for loops by using get default folder in the MAPI namespace, verify the archive path, update data file settings, and restart Outlook to apply.
Learn to use Excel VBA to dynamically restrict Outlook emails by last week or last 30 days, using date math and string concatenation to build the received time filter.
Explore advanced Outlook search with DASL/DSL queries, mastering schema syntax, escaping, and operators to filter by subject, attachments, and exact matches.
Master DASL filtering in Outlook using content index and the like operator for prefix, phrase, and substring matches.
Determine if instant search is enabled for an Outlook folder by checking the folder's store and instant search flag, then use CIA indexing or the like method accordingly.
Discover how to quickly generate DASL syntax in Outlook using the advanced filter options, then copy the exact query and paste it into Excel VBA to build precise email searches.
Demonstrate using DSL strings in an actual Excel session to filter for attachments and copy the string into VBA, including escaping quotes and simple concatenation.
Learn to open and use an Outlook email template from Excel VBA to personalize emails and attachments, saving time by loading an .oft template and auto populating data.
Master customizing Outlook templates with auto find and replace using VBA. Learn to replace placeholders like cust name, org name, and project name in the email body.
Master Excel VBA and Outlook automation by selecting a row, generating a personalized email from a data sheet, replacing placeholders, and saving drafts for testing.
Learn to create a clickable send email column in Excel by using a double-click event on column G to generate an Outlook draft, with styling, validation, and optional auto-send.
Loop through an Excel dataset with a dynamic last row on sheet cust to generate customized Outlook emails for names starting with a chosen letter using VBA.
Loop through Excel data to create tailored Outlook email drafts by filtering a text date with the month function, then test and review June drafts before sending.
Demonstrates collecting user input (letter or month), validating and uppercasing it, running two loops to generate email drafts, and linking shapes as macro buttons.
Master Excel VBA and Outlook automation by generating a single email to a semicolon-separated recipient list, using loops to build a BCC/CC string and send or draft once.
Build a quick VBA function to verify email addresses, returning a boolean and using a like pattern to validate local and domain parts, then test with sample addresses.
Convert a range to html and insert it into an email using an Excel VBA macro. Build dynamic html bodies by using the last row of your data.
Copy the selected Excel range, then create a new Outlook mail item. Paste the range into the email body using the command bars paste action.
Learn to attach a file in Outlook via VBA by specifying a file path, using attachments.add, and choosing to display, send, or save as draft.
Embed an image in an e-mail body by attaching the file and referencing it by name, then render it inline with an image tag and optional size adjustments.
Create a unique file name by combining a date-time stamp with a four-digit random number using a custom function RandFileName for Outlook attachments in the temp folder.
Learn to save an Excel worksheet as a PDF and email it as an attachment via VBA, including random file naming, temp saving, and attaching in Outlook.
Learn to save a single worksheet as its own workbook and attach it to an Outlook email, using sheet.copy, a temporary path, and the attachments.add method.
Attach the entire current workbook to an Outlook email with a VBA macro, using workbook full name. Add a simple button with an icon to trigger the attachment.
Master VBA to filter emails with attachments in the last seven days and save Excel attachments to a specific folder, with checks to avoid overwriting existing files.
Open attachments, save them to a temp folder, and import data into the current workbook by opening with Excel and looping through rows to populate the originating sheet.
Explore calendar items in Outlook by distinguishing between appointments and meetings. Learn how appointments stay personal with no attendees or emails, while meetings include attendees and an organizer.
Create a new Outlook calendar appointment with Excel VBA by declaring an appointment item, setting subject, body, location, start and end times, and displaying and saving it.
Learn to create a meeting in Outlook via Excel VBA by adding multiple attendees with recipients method 2, including required, optional, and a resource, then save and send invites.
Explore how start time, duration, and end time interact in a meeting macro, showing how changing one updates the others and introducing DateAdd.
Learn to use the dateadd function and built-in variables to control meeting start and end times in Excel VBA. Apply intervals like hours, days, months, and weeks.
Discover a simple math-based method to detect scheduling conflicts between two appointments, using end-before-start logic and the not operator to identify overlaps.
Learn to prevent scheduling conflicts in Outlook by using a VBA macro to check calendar items with a restrict filter, and create an appointment only when no conflicts are found.
Learn to set and customize Outlook reminders in Excel VBA, including enabling reminders, setting minutes before start, overriding defaults, and attaching custom sound files for appointment items.
Rename Outlook categories and color code calendar entries and emails, then search subjects for the name Bob with InStr and tag sales calls in conference rooms.
Learn to create and manage Outlook tasks with subject, body, due date, reminders, and status, then assign tasks, track total work vs actual work, and apply categories and follow ups.
Create a new Outlook task with VBA by setting the subject, body, due date, status, and save as a draft; use a dedicated module and light binding.
This lecture shows how to assign a task to someone in Outlook with VBA by adding recipients and using the dot assign command to send the task.
Loop through existing tasks in the tasks folder, access current task properties, and apply filters or date adjustments to analyze or update tasks.
Discover how to generate a status report from a task item in Outlook with VBA, create a status report email using the status report method, set recipients and send.
Identify overdue tasks by applying a today's date based due date filter in VBA, then auto email delegated owners or mark non-delegated tasks complete.
Create a new Outlook contact with VBA by declaring a contact item, filling fields like name, company, emails, and addresses, saving, and selecting the primary mailing address.
Explore Outlook contact fields such as anniversary, birthday, customer id, department, gender, and job title, and access them via dot fields, drop-downs, and the local window.
Master a quick Outlook VBA trick to grab a contact, room, or distribution list by its full name using the default folder and the Items collection, without looping.
Loop through the Outlook contacts folder with VBA to prevent duplicates by comparing first name, last name, and email before adding a new contact.
Iterate and export Outlook contacts into an Excel worksheet using a VBA macro, mapping each contact's first name, last name, email, company, and phone numbers into a structured sheet.
Design and populate a user form list box with Outlook contacts in Excel VBA, displaying full names and emails while hiding the internal entry id for smooth access and editing.
Learn how to populate a userform listbox, hide and bind the first column as the value, validate selection, and edit a selected Outlook contact using GetItemFromID via a command button.
Select a contact from the userform list box, fetch their email from column 1, create a new Outlook mail item, set the recipient and a personalized subject, and display it.
Learn to access hidden Outlook collections such as categories, accounts, and stores, and populate combo boxes on a user form using the Outlook application and namespace mapping.
Learn to recursively search Outlook folders to locate a buried subfolder using a custom function. Use the Outlook folder names function to find the target folder within the master folder.
The world has well over a billion Microsoft Office users, and many of them are starting to realize that you can automate your work life with VBA. They use Excel for data analysis, report generation or keeping up with complicated list and calculations, and use Outlook to keep their schedule straight - with tasks, Emails, Meetings and Contacts..
One of the least published and least utilized strategies is using the best of both worlds - the flexibility, calculations, speed & data storage of Excel and the Email, Tasks, Calendar and Contacts of Outlook. This course marries those two technologies in a simple, progressive manner that Beginners can understand and Experts will return to over and over for reference.
You’ll learn to:
Utilize and manipulate Outlook’s organizational structure and folder system to
Create dynamic emails and auto-send, defer delivery, display or save emails as a draft
Loop through Excel and automatically generate custom-tailored emails with each row's data
Get free burner emails for testing
Seamlessly control Multiple Outlook accounts
You’ll even learn to Spice up your messages using professional HTML email code, using Free HTML editors and where to find cool templates
We’ll guide you through multiple methods of Signature automation, including non-default signatures
You’ll also master looping through your emails with custom filters, including Advanced DASL queries (made simple!)
You’ll Personalize emails and attachments with Excel data or Auto-Open specific attachments and Grab Data into your workbook!
You’ll be able to convert Excel tables into HTML and embed them into your email body
In addition to Email mastery, we also show you how to:
Create, modify and rearrange Calendar items (like Appointments & Meetings) and schedule like a boss!
Instantly understand (and have fun with) Date/Time Math
Discover and prevent Schedule Conflicts the easy way
Create, assign, modify and streamline Task Items
Utilize outlook Contacts with your Excel program
We even take you through Building a Custom Userform where you’ll be able to Email or Edit any of YOUR contacts right from Excel!
You can easily implement these strategies in any of your Excel programs to further automate your workflow
Impress your boss! Go ahead, make your work take 5 minutes instead of 5 hours. (We won’t tell!)
Go ahead and Grab your copy of this Excel and Outlook VBA Mastery Course - TODAY!
From the Author, Dan Strong:
Some of the most common questions I get is “How can I automatically send emails based on Excel data?” or “How can I cycle through my emails and grab info from specific attachments?” So, I decided to create an intensive study course that shows you every aspect of Microsoft Outlook from the viewpoint of an Excel program - AKA showing you how to send out emails wayyyy beyond a simple mail merge or a ‘SendMail’ action. You’ll be able to take Outlook by the horns and implement a whole new set of tools to your toolbelt.
We’ll see you in the Forums!
Happy Coding
Dan Strong, ExcelVbaIsFun