Solved

Can't get the Received Date on Outlook using VBA

Posted on 2009-04-06
1
3,878 Views
Last Modified: 2012-05-06
I'm trying to retrieve all the emails from a specific folder from my MS Outlook including those in its subfolders.  Using the code below, I can get the Subject, To, Body, Importance but not the Received.  It just shows blank.  When I try to get the value using the immediate window, it says " Run-time error 438:  Object doesn't support this property or method."  I need to get the Received date so I can filter the date the emails were received.

I will appreciate any help!
Private Sub cmdRefresh_click()   
    Dim olApp As Outlook.Application
    Dim olNs As Outlook.NameSpace
    Dim strFolderPath As String    
    DoCmd.SetWarnings (False)
    DoCmd.RunSQL "Delete * from LastWeek"
    DoCmd.SetWarnings (True)           
    Dim RS As New ADODB.Recordset
    RS.Open "Emails", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
    Set olApp = New Outlook.Application
    Set olNs = olApp.GetNamespace("MAPI")    
    Dim olFldr As Outlook.MAPIFolder     
    Set olFldr = olNs.GetDefaultFolder(olPublicFoldersAllPublicFolders).Folders("Transactions")    
    Call ProcessFolder(olFldr)
End Sub
 
 
Sub ProcessFolder(StartFolder As MAPIFolder)
 
    Dim objFolder As Outlook.MAPIFolder
    Dim objItem As Object
    Dim objEmail As MailItem
    Dim mailObject As Object
    Dim dtReceived As Date
    Dim strSubject As String
        On Error Resume Next
    Set objApp1 = Outlook.Application
    Set objNS1 = objApp1.GetNamespace("MAPI")
    Dim RS As New ADODB.Recordset
    RS.Open "LastWeek", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
   
    For Each objItem In StartFolder.Items '.Folders           
            strSubject = objItem.Subject
            dtReceived = CDate(objItem.Received)
            If (InStr(1, strSubject, "Clothes;") > 0) Or _
                (InStr(1, strSubject, "Shoes") > 0) Then                            
                With RS
                    .AddNew
                    !Importance = objItem.Importance
                    !Subject = objItem.Subject
                    !from = objItem.SenderName
                    !To = objItem.To
                   ' ![Normalized Subject] = objItem.[Normalized Subject]
                    !Received = objItem.Received
                    .Update
                End With
            End If
        Next
 
        For Each objFolder In StartFolder.Folders
            Call ProcessFolder(objFolder)
        Next
End Sub

Open in new window

0
Comment
Question by:meredithf
1 Comment
 

Accepted Solution

by:
meredithf earned 0 total points
ID: 24076687
I got it!  Should be objItem.ReceivedTime.

Thanks!
0

Featured Post

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

PaperPort has a feature called the "Send To Bar". It provides a convenient, drag-and-drop interface for using other installed software, such as Microsoft Office. However, this article shows that the latest Office 2016 apps (installed with an Office …
This article will guide you to convert a grid from a picture into Excel format using Microsoft OneNote and no other 3rd party application.
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calcul…
The viewer will learn how to create two correlated normally distributed random variables in Excel, use a normal distribution to simulate the return on different levels of investment in each of the two funds over a period of ten years, and, create a …

785 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question