Macro to export mail data based on assigned category

Status
Not open for further replies.

draxsr

Member
Outlook version
Outlook 2010 32 bit
Email Account
Exchange Server
I've been able to create a script that will look through a selected folder and export the necessary data for any email message categorized but I'd like this macro to go through ALL emails in ALL folders. The part of the For Loop that needs fixing is "For Each olkMsg In Application.ActiveExplorer.CurrentFolder.Items" which only works on the selected folder. What I'd like it to do, functionally, is the same thing that the UnifiedInbox script found on the Slipstick site does. Specificially the "myOLApp.ActiveExplorer.Search txtSearch, olSearchScopeAllOutlookItems". Unfortunately, simply changing one ActiveExplorer statement to the other throws up a syntax error (even when defining/declaring txtSearch).Any help would be appreciated.
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
The scope is only for search, not you need to 'walk' the folders.

Try this - as written it shows you the folder name and message count, you'll use your code block in its place.

Code:
Sub walkfolders() 
 
Dim olApp As Outlook.Application 
 
Dim objNS As Outlook.NameSpace 
 
Dim MyFolder As Outlook.MAPIFolder
   On Error Resume Next
 
   Set olApp = Outlook.Application
   Set objNS = olApp.GetNamespace("MAPI")
   Set MyFolder = objNS.PickFolder
   Call ProcessFolder(MyFolder)
   Set objNS = Nothing 
 
Set MyFolder = Nothing 
 
Set olApp = Nothing 
 
Set objNS = Nothing 
 
End Sub 
 
Sub ProcessFolder(StartFolder As MAPIFolder) 
 
Dim objFolder As Outlook.MAPIFolder 
 
Dim objItem As Object 
 
Dim mai As MailItem
   On Error Resume Next
   i = 0
   MsgBox StartFolder.Path, , "testing"
 
   ' process all the items in this folder
   For Each objItem In StartFolder.Items
       i = i + 1
   Next
     
   ' process all the subfolders of this folder
   For Each objFolder In StartFolder.Folders
       Call ProcessFolder(objFolder)
   Next
MsgBox "counted " & i & " messages in " & StartFolder 
 
Set mai = Nothing 
 
Set objFolder = Nothing 
 
Set objItem = Nothing 
 
End Sub
 

draxsr

Member
Outlook version
Outlook 2010 32 bit
Email Account
Exchange Server
I didn't get far simply exchanging my code for that single line in yours. It's probably trying to create a spreadsheet for each folder it traverses or some such.

In a perfect world, what I'd like is 1 macro that would go through all folders (including those in PST's), look for mail items with the criteria I specify and spit out a spreadsheet with certain information.

The code I've managed to cobble together will look at a single folder and do the job. I know how to add a criteria in my IF statement (a category for example). But getting the thing to go through all folders has got me stumped.

Any further help would be greately appreciated.

Thanks in advance.

View attachment Response.txt
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
I have not had a chance to test it, but the "do whatever" code would go here - i think
For Each objItem In StartFolder.Items
If ojbitem.categories = "my category" then
'do whatever
Next

When the folder is done, the next folder is called.

The spreadsheet is set up before the for each statement, you'd just move ot the next line.
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
K Macro to search emails between two time slots on public folders with excel export Outlook VBA and Custom Forms 12
B Macro To Create Rule To Export From Certain Folder Email Information in one workbook multiple sheets Outlook VBA and Custom Forms 0
W macro to export outlook emails to excel Outlook VBA and Custom Forms 6
E Macro to export BCM business data to CSV file BCM (Business Contact Manager) 1
N Help creating a VBA macro with conditional formatting to change the font color of all external emails to red Outlook VBA and Custom Forms 5
S Visual indicator of a certain property or to show a macro toggle Outlook VBA and Custom Forms 2
L Modifying VBA script to delay running macro Outlook VBA and Custom Forms 3
S Macro to extract and modify links from emails Outlook VBA and Custom Forms 3
M Replyall macro with template and auto insert receptens Outlook VBA and Custom Forms 1
L Macro to add Date & Time etc to "drag to save" e-mails Outlook VBA and Custom Forms 2
S Macro for Loop through outlook unread emails Outlook VBA and Custom Forms 2
Globalforester ItemAdd Macro - multiple emails Outlook VBA and Custom Forms 3
S Macro to extract email addresses of recipients in current drafted email and put into clipboard Outlook VBA and Custom Forms 2
witzker HowTo start a macro with an Button in OL contact form Outlook VBA and Custom Forms 12
witzker Macro to move @domain.xx of a Spammail to Blacklist in Outlook 2019 Outlook VBA and Custom Forms 7
S Macro for other actions - Outlook 2007 Outlook VBA and Custom Forms 23
C Macro to extract sender name & subject line of incoming emails to single txt file Outlook VBA and Custom Forms 3
L Macro/VBA to Reply All, with the original attachments Outlook VBA and Custom Forms 2
S Macro to move “Re:” & “FWD:” email recieved the shared inbox to a subfolder in outlook Outlook VBA and Custom Forms 0
S Outlook Macro to send auto acknowledge mail only to new mails received to a specific shared inbox Outlook VBA and Custom Forms 0
S Outlook Macro to move reply mail based on the key word in the subjectline Outlook VBA and Custom Forms 0
Eike Move mails via macro triggered by the click of a button? Outlook VBA and Custom Forms 0
S Macro or plug-in to see if specific person was included in this email Outlook VBA and Custom Forms 4
U Macro for reminders,tasks,calendar Outlook VBA and Custom Forms 4
V macro runs slower on startup than after Outlook VBA and Custom Forms 3
N Macro to move all recipients to CC while replying Outlook VBA and Custom Forms 0
A VBA macro for 15 second loop in send and received just for 1 specific mailbox Outlook VBA and Custom Forms 1
G VBA Macro Calendar Printing Assistant 4
R Help Revising VBA macro to delete email over different time span Outlook VBA and Custom Forms 0
M Outlook macro to automate search and forward process Outlook VBA and Custom Forms 6
R Macro Schedule every day in Outlook Using Outlook 0
L Moving emails with similar subject and find the timings between the emails using outlook VBA macro Outlook VBA and Custom Forms 1
Healy Consultants Macro to remove inside organization distribution list email address when reply to all recepients Outlook VBA and Custom Forms 0
geofferyh Cannot get Macro to SAVE more than one message attachment??? Outlook VBA and Custom Forms 5
N How can I increase/faster outlook VBA Macro Speed ? Using Outlook 2
4 Macro to set the category of Deleted Item? Outlook VBA and Custom Forms 2
D.Moore Folder view settings by VBA macro Outlook VBA and Custom Forms 57
A Outlook macro to create search folder with mail categories as criteria Outlook VBA and Custom Forms 3
Dave A Run macro on existing appointment when it changes Outlook VBA and Custom Forms 1
V Outlook Macro to show Flagged messages Outlook VBA and Custom Forms 2
O Run macro automatically at sending an email Using Outlook 11
R Retain Original Message When Forwarding With Macro Outlook VBA and Custom Forms 3
C Macro to add multiple recipients to message Outlook VBA and Custom Forms 3
B Reply and replyall macro is not working Outlook VBA and Custom Forms 1
O Macro - paste as plain text Outlook VBA and Custom Forms 2
J Help Please!!! Outlook 2016 - VBA Macro for replying with attachment in meeting invite Outlook VBA and Custom Forms 9
witzker Macro to set contact reminder to next day 9:00 Outlook VBA and Custom Forms 45
M Adding Macro to populate "to" "subject" "body" not deleting email string below. Outlook VBA and Custom Forms 5
E Copying data from e-mail attachement to EXCEL file via macro Outlook VBA and Custom Forms 38
M Macro to add date/time stamp to subject Outlook VBA and Custom Forms 4

Similar threads

Top