Link to home
Start Free TrialLog in
Avatar of Jase Alexander
Jase AlexanderFlag for United Kingdom of Great Britain and Northern Ireland

asked on

Counting number of emails in Outlook folder by date

HI Guys

Hope you can help

Ive tried various pieces of code in Excel to look into my Outlook inbox, specifically in a folder called Performance Data, and basically just return the number of emails in that folder with their respective dates they were sent.

Ive tried some pieces of code that ware giving me an error on establishing the MAPI and / or returns a nil value as if the folder does not exist.

Is there a way to make this possible?

Your suggestions would be very welcome

J
Avatar of Shums Faruk
Shums Faruk
Flag of India image

It would be helpful if you provide the code you have.

Here is an example, if you need some changes let me know:
Enter date in Sheet1A1 cell
Sub HowManyDatedEmails()
Dim objOutlook As Object, objnSpace As Object, objFolder As Object
Dim EmailCount As Integer
Set objOutlook = CreateObject("Outlook.Application")
Set objnSpace = objOutlook.GetNamespace("MAPI")
   
   On Error Resume Next
   Set objFolder = objnSpace.Folders("Personal Folders").Folders("Performance Data")
   If Err.Number <> 0 Then
   Err.Clear
   MsgBox "No such folder."
   Exit Sub
   End If
   
 Dim iCount As Integer, DateCount As Integer
 Dim myDate As Date
 EmailCount = objFolder.Items.Count
 DateCount = 0
 myDate = Sheets("Sheet1").Range("A1").Value
   
 For iCount = 1 To EmailCount
 With objFolder.Items(iCount)
 If DateSerial(Year(.ReceivedTime), Month(.ReceivedTime), Day(.ReceivedTime)) = myDate Then DateCount = DateCount + 1
 End With
 Next iCount
 
Set objFolder = Nothing
Set objnSpace = Nothing
Set objOutlook = Nothing

MsgBox "Number of emails in Performance Data folder with matching date: " & DateCount, , "Performance Data date count"
End Sub

Open in new window

Source is from here, I tweaked as per your details
SOLUTION
Avatar of Emmanuel Adebayo
Emmanuel Adebayo
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Jase Alexander

ASKER

Hey Shums

Thank you for the quick response

I believe I used the same code source - it keep coming up with No Such Folder.

Ive tried all manner of combinations but no luck. Is there a way just to list ALL folders and the number of emails in each one with the dates, in case the code would be easier to manipulate this way?

Many Thanks

J
If you want emails dated for all the folder then you can try as below, changing "sales@abc.com" to your email ID and enter date in Sheet 1 A1 cell.
Sub HowManyDatedEmails()
Dim objOutlook As Object, objnSpace As Object, objFolder As Object
Dim EmailCount As Integer
Set objOutlook = CreateObject("Outlook.Application")
Set objnSpace = objOutlook.GetNamespace("MAPI")
   
   On Error Resume Next
  objnSpace.Folders("sales@abc.com").Folders("Inbox")
   If Err.Number <> 0 Then
   Err.Clear
   MsgBox "No such folder."
   Exit Sub
   End If
   
 Dim iCount As Integer, DateCount As Integer
 Dim myDate As Date
 EmailCount = objFolder.Items.Count
 DateCount = 0
 myDate = Sheets("Sheet1").Range("A1").Value
   
 For iCount = 1 To EmailCount
 With objFolder.Items(iCount)
 If DateSerial(Year(.ReceivedTime), Month(.ReceivedTime), Day(.ReceivedTime)) = myDate Then DateCount = DateCount + 1
 End With
 Next iCount
 
Set objFolder = Nothing
Set objnSpace = Nothing
Set objOutlook = Nothing

MsgBox "Number of emails in Performance Data folder with matching date: " & DateCount, , "Performance Data date count"
End Sub

Open in new window

HI Shum

Thanks for the above code - aside from it being an interesting update which I will consider using for another project I have, what I actually need for now is, and what I was trying to put across to simplify the result, is to go through all the folders in my inbox and just produce a list in Excel of the folder name with a list of sent dates for each message stored in the folders.

From this I can count the number of mails AND condense the folder list to what I actually need

Is this feasible?

J
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Hey Guys

Thanks for the help

Not exactly what I was looking for but appreciate the help

J