Finding Outlook mail messages from a specific sender

Office for Mere Mortals
Your beginners guide to the secrets of Microsoft Office
Invalid email address
Tips and help for Word, Excel, PowerPoint and Outlook from Microsoft Office experts.  Give it a try. You can unsubscribe at any time.  Office for Mere Mortals has been running for over 20 years, we've never, ever revealed or sold subscriber details.  Privacy policy

How to find Outlook mail messages from a specific sender.

Q:  Ray in New Zealand writes:  “I’m trying to link my Access db (Accommodation) to Outlook. I receive accommodation bookings from guests and would like to be able to click on a button on the guest data form which will take me to the emails which were received re their booking. I can’t seem to find anything which helps. Do you know of any way of doing this. I always include the guest’s email in the Access db.”

A:  You can do this by searching for mail messages with their SenderEmailAddress property equal to the email address stored in an Access table (picked up from the current form record).  You might also need to search for a specific subject line.  Here is some sample code that looks for messages from a specific email address with “Booking” in the subject line:

Private Sub cmdFindEmails_Click()

 

On Error GoTo ErrorHandler

  

   Dim appOutlook As New Outlook.Application

   Dim nms As Outlook.NameSpace

   Dim fldInbox As Outlook.MAPIFolder

   Dim msg As Outlook.MailItem

   Dim strEmail As String

   Dim itm As Object

  

   strEmail = Nz(Me![txtClientEmail].Value)

   If strEmail = “” Then

      MsgBox “No email selected; canceling”, vbExclamation

   End If

  

   Set nms = appOutlook.GetNamespace(“MAPI”)

   Set fldInbox = nms.GetDefaultFolder(olFolderInbox)

  

   For Each itm In fldInbox.Items

      If itm.Class = olMail Then

         Set msg = itm

         If msg.SenderEmailAddress = strEmail _

            And InStr(msg.Subject, “Booking”) > 0 Then

            msg.Display

         End If

      End If

   Next itm

  

ErrorHandlerExit:

   Exit Sub

 

ErrorHandler:

   MsgBox “Error No: ” & Err.Number & “; Description: ” & _

      Err.Description

   Resume ErrorHandlerExit

 

End Sub

 

See the frmClients form in the sample database Listbox Items (AA 172).mdb; this code runs from its cmdFindEmailsbutton.

Latest news & secrets of Microsoft Office

Microsoft Office experts give you tips and help for Word, Excel, PowerPoint and Outlook.

Give it a try. You can unsubscribe at any time.  Office Watch has been running for over 20 years, we've never, ever revealed or sold subscriber details.  Privacy policy
Invalid email address