I’m looking for ideas and suggestions for future posts. Since Outlook is my specialty, I’m particularly interested in features or capabilities you wish it had. Keep in mind that I don’t work for Microsoft and cannot change the basic product itself. I can pass suggestions on to the folks at Microsoft though. While I cannot promise that I’ll use every suggestion or that I can even come up with a solution, I will do my best to respond to all of them, even those that don’t have anything to do with Outlook. If you’d like to share an idea, then please add it as a comment to this page.

627 comments on “Suggestions

  1. David,

    Thank you for sharing your knowledge! I’ve been using your “Sending a Meeting Reminder Email in Outlook” script for several weeks and it’s been working great. I was including my signature in the script, but this is now no longer acceptable. A few weeks ago, we were given specific directions in how we should structure our signature when sending email (specific font and multiple font sizes). Since I have my signature correctly formatted and saved in Outlook’s default Signature folder, I’m hoping you may provide additional scripting so the formatted and saved signature will appear under the body of the reminder email when I use your original Meeting Reminder Email script.

    Thanks in advance for your assistance!


    • Hi, Debbie.

      Do you have the signature you’re required to use set as your default signature? If so, then the fix is a little easier. Please let me know the answer to that question and I’ll adjust accordingly.

    • Yes, I have the formatted signature set up as my default signature. It appears when I send messages from Outlook, but not when I send meeting invitations. Thank you!

    • Debbie,

      Please try this version. Outlook only adds the signature when the message is displayed on the screen. All I’ve done here is force the message to appear on screen when it’s created instead of doing everything behind the scenes.

      Sub SendMeetingReminder()
          'On the next line change True to False if you want the reminder to send without giving you the chance to edit it.
          'Leave it set to True if you want an opportunity to edit the message before sending it.
          Const EDIT_FIRST = True
          'On the next line edit the message as desired.  Both %START% and %LOCATION% are parameters that will be replaced
          'with the meeting start time and location respectively before the message is displayed/sent.
          Const MSG_TEXT = "Just a quick reminder about this meeting.<br><br>Start: <b>%START%</b><br>Location: <b>%LOCATION%</b><br><br>"
          Const MACRO_NAME = "Send Meeting Reminder"
          Const ERR_MSG = "You must select an appointment for this macro to work."
          Dim olkApt As Object, _
              olkRem As Outlook.MailItem, _
              olkRec As Outlook.Recipient
          On Error Resume Next
          Select Case TypeName(Application.ActiveWindow)
              Case "Explorer"
                  Set olkApt = Application.ActiveExplorer.Selection(1)
              Case "Inspector"
                  Set olkApt = Application.ActiveInspector.CurrentItem
          End Select
          If TypeName(olkApt) <> "Nothing" Then
              If olkApt.Class = olAppointment Then
                  Set olkRem = Application.CreateItem(olMailItem)
                  With olkRem
                      .Subject = "Meeting Reminder: " & olkApt.Subject
                      .HTMLBody = MSG_TEXT & .HTMLBody
                      .HTMLBody = Replace(.HTMLBody, "%START%", Format(olkApt.Start, "ddd, mmm d at h:mm AMPM"))
                      .HTMLBody = Replace(.HTMLBody, "%LOCATION%", olkApt.Location)
                      For Each olkRec In olkApt.Recipients
                          If (olkRec.Type <> olResource) And (olkRec.Name <> Session.CurrentUser.Name) Then
                              If Not olkRec.MeetingResponseStatus = olResponseDeclined Then
                                  olkRem.Recipients.Add olkRec.Name
                              End If
                          End If
                      If NOT EDIT_FIRST Then
                      End If
                  End With
                  MsgBox ERR_MSG, vbCritical + vbOKOnly, MACRO_NAME
              End If
              MsgBox ERR_MSG, vbCritical + vbOKOnly, MACRO_NAME
          End If
          On Error GoTo 0
          Set olkApt = Nothing
          Set olkRem = Nothing
          Set olkRec = Nothing
      End Sub
    • Good morning David,

      This new version you provided works, but a minor problem has come up. The line “Just a quick reminder about this meeting.” appears as New Times Roman 12pt font. The rest of the information that appears on the screen is the Calabri Body 10 pt. font. My signature shows up as designed (Arial 11 and 10 pt. font). Prior to the update, my entire message appeared in New Time Roman 12pt. font, which was fine until my superiors decided they wanted a specific format for our signature.

      I don’t mean to nitpick, but is there a way to format the body of the message as one font and size? I’m sorry to be such a pain.

      Thank you.


    • Hi, Debbie.

      What font and font size do you want and do you want the signature in that same font/size?

  2. Hi David,

    Could you please share some article on auto reply mail for below scenario,

    Step 1: Mail sent to support team with Subject:”Error: found in the text1″
    Step 2: Auto reply mail sent acknowledging the step 1 mail based on Subject keyword – “Error”
    Step 3: On the same thread,again one more Mail sent to support team on top of Step 2 mail with Subject:”Error: found in text 2″

    Step 4: Now the Auto reply mail doesn’t acknowledge my Step 3 mail , as Step 2 was in replied state(ie:”RE:”)
    since I have added an exception for auto reply to not send the reply when the subject keywords are like “RE:” or “FW:”

    I need to acknowledge the mail even if it is same thread.

    how can i overcome this scenario.I understood that if any of mail threads have “RE:” or “FW:” apart from latest mail received,auto reply is not working.

    Give some suggestions on the above.

    • Hi, R.B.

      Outlook has at least three ways to “auto reply” to a message.

      1. Out of Office. While it’s turned on, OOF will automatically reply once to each sender, regardless of subject or message contents.
      2. Rules. You can construct a rule that will reply to any message that meets a condition you define in the rule. Outlook will send a reply every time it receives a message that meets the rule’s condition.
      3. Macros. You can construct a macro that behaves the same as a rule. The advantage of using a macro is that you can create conditions and take actions that are impossible to do with a rule alone. The disadvantage of using a macro is that macros are only available when the computer is on and Outlook is running. Contrast that to rules which run from the server, assuming of course that your mail is hosted on an Exchange server.

      If your mail is hosted on an Exchange server, then using a rule is probably the best approach. Rules run all the time, even when Outlook is not running. If your mail is not hosted on an Exchange server, or if you need to use a condition that is not available via rules, then a macro solution is best. However, for that to work you must have Outlook open and running all the time. If you don’t, then the solution cannot respond to messages as they are received. Instead, it will respond to them when you start Outlook.

  3. Hi
    Some great stuff on here – thanks for your generous time donation.

    I have a frequent need to categorise selective emails and file them to a folder. Category and Fold are linked. So, I could categorise and then move them, each using aright-click; or categorise and periodically run a rule to move them;

    But, being somewhat retentive about filing things I like to do them as soon as I’ve dealt with them. I’m sure its simper to do it so a button click can categorise and file selected email(s) in one go; multiple buttons for different category/folder combinations even… yet not so simple for me to succeed, I’ve tried merging various items from your site, with a startling lack of success.

    Can you help?

    • Hi, Mark.


      How many categories/folder combination would you have? If I knew that I’d be in a better position to suggest a solution.

  4. Dear David,

    Thank you so much for your sharing and help. I’ve been studying your codes practicing and learning VBA. While I play with different versions of this exporting appointments trick of yours, I created a simple scenario, it is like, after the appointment list in full detail is exported to a CSV, there’s another excel with another set of code, to search full the CSV, look for set of matches then according to the result it will gather data reference to the match and export to different CSV in different file locations. e.g. The script looking at the appointment list’s “location” column, then if result match location A, the appointment’s start time, end time, host and location these info go into folder A’s CSV file. I’ve taken example of conversation of you and another reader, about searching and editing for exact match data in cell. I’d also love to, at your most convenience, be advised by you, or maybe look at some examples in your next post of similar feature. Looking forward to your feedback. Cheers 🙂

  5. Hope you can assist us.

    We have an excel named “MASTER”
    Sheet 1 is named “ACTIVE” and is protected by password “TEST”.
    Column 2 (B) contains names (ex: Duck, Donald).
    Column 52 (AZ) has the text “ACTIVE” entered automatically, by formula, when a date is entered in column 4 (D).
    When cell 52 is changed to “DISCHARGE” need a verification message to appear stating “Are you sure you want to discharge Donald Duck”?

    If answer is yes, need Discharge text to remain in column 52 and the entire now needs to be deleted from “ACTIVE” and text pasted on the next available row of the sheet named “DISCHARGED”.

    If the answer is no, column 52 is to revert to “ACTIVE”.

    Thank you in advance for you help!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s