Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Can't get the Received Date on Outlook using VBA

Posted on 2009-04-06
1
Medium Priority
?
4,234 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 

Accepted Solution

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

Thanks!
0

Featured Post

Get your Conversational Ransomware Defense e‑book

This e-book gives you an insight into the ransomware threat and reviews the fundamentals of top-notch ransomware preparedness and recovery. To help you protect yourself and your organization. The initial infection may be inevitable, so the best protection is to be fully prepared.

Question has a verified solution.

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

Cancel future meetings from user mailboxes in Office 365 using Remove-CalendarEvents
With its various features, Office 365 can not only help you with your day-to-day business tasks, it can also do wonders for your marketing campaign.
The viewer will learn how to use a discrete random variable to simulate the return on an investment over a period of years, create a Monte Carlo simulation using the discrete random variable, and create a graph to represent the possible returns over…
The viewer will learn how to  create a slide that will launch other presentations in Microsoft PowerPoint. In the finished slide, each item launches a new PowerPoint presentation and when each is finished it automatically comes back to this slide: …

609 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