Macro to move mail from Inbox if older than 4 days

Status
Not open for further replies.

jo15765

Member
Outlook version
Outlook 2007
Email Account
Exchange Server
I would like a macro that I can add to the Windows Scheduler that will run every day and it will move mail older than 4 days from my inbox into a personal folder in my inbox...if that makes sense.
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
Tested this in outlook 2010 - moving mail 7 days old. It would need tweaked to run outside of outlook and it may trigger the security prompts. Could convert it to application_startup so it runs everytime outlook runs or run it from a command button.

Code:
Sub MoveMail()
   ' Declare all variables.
   Dim objOutlook As Outlook.Application
   Dim objNamespace As Outlook.NameSpace
   Dim objSourceFolder As Outlook.MAPIFolder
   Dim objDestFolder As Outlook.MAPIFolder
   Dim objVariant As Variant
   Dim lngMovedMailItems As Long
   Dim intCount As Integer
   Dim intDateDiff As Integer
   Dim strDestFolder As String
 
   Set objOutlook = Application
   Set objNamespace = objOutlook.GetNamespace("MAPI")
   Set objSourceFolder = objNamespace.GetDefaultFolder(olFolderInbox)
 
   For intCount = objSourceFolder.Items.Count To 1 Step -1
       Set objVariant = objSourceFolder.Items.Item(intCount)
       DoEvents
       If objVariant.Class = olMail Then
         
            intDateDiff = DateDiff("d", objVariant.SentOn, Now)
          
           If intDateDiff > 7 Then
         
           'use datafile name and each folder in the path - outlook 2010 uses the email address as the pst or mailbox  name
               Set objDestFolder = objNamespace.Folders("[EMAIL="diane@domain.com").Folders("Inbox").Folders("Old"]diane@domain.com").Folders("Inbox").Folders("Old[/EMAIL]")
             objVariant.Move objDestFolder
           
             'count the # of items moved
              lngMovedMailItems = lngMovedMailItems + 1
               Set objDestFolder = Nothing
           End If
       End If
   Next
 
   ' Display the number of items that were moved.
   MsgBox "Moved " & lngMovedMailItems & " messages(s)." 
 
End Sub
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
BTW, you could do this using Autoarchive. It will move it to a folder in an archive pst file not in your mailbox, but no coding and little configuration needed to use it.
 

jo15765

Member
Outlook version
Outlook 2007
Email Account
Exchange Server
I am assuming I would just add this code to the VBE just like I would in Access or Excel?

How would I use auto-archiving?
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
Yes, add it to ThisOutlookSession just like Access or Excel.

AutoArchiving: Go to Tools, Accounts, Other, Archiving to enable. Set it to run every day or every xx days. You can set a default for all folders - but unless you explicitly enable a folder for AutoArchive or pressed the button to Apply the setting to all folders, only the folders you configure using Properties, AutoArchive will be processed when AutoArchive runs.

Then right click on the Inbox and choose Properties, then AutoArchiving tab and set a different value.

We have some info at Outlook's AutoArchive Feature on using autoarchive to clean out junk and deleted mail - basics are the same, but you'll move rather than delete.
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
S Outlook Macro to move reply mail based on the key word in the subjectline Outlook VBA and Custom Forms 0
Douglas Littlefield Macro to move E-mail Outlook VBA and Custom Forms 10
Douglas Littlefield Macro to move mail from inbox to Managed Folder Exchange Server Administration 1
L Macro Move E-mail attachments to a PC Folder Using Outlook 16
T Macro to move reply and original message to folder Outlook VBA and Custom Forms 6
witzker Macro to move @domain.xx of a Spammail to Blacklist in Outlook 2019 Outlook VBA and Custom Forms 7
S Macro to move “Re:” & “FWD:” email recieved the shared inbox to a subfolder in outlook Outlook VBA and Custom Forms 0
Eike Move mails via macro triggered by the click of a button? Outlook VBA and Custom Forms 0
N Macro to move all recipients to CC while replying Outlook VBA and Custom Forms 0
B Macro to manually move selected emails to network folder Outlook VBA and Custom Forms 1
G email returns after running macro to move emails Outlook VBA and Custom Forms 1
S Macro to print & move selected emails? Using Outlook 3
G Macro to move sent items from local folder to IMAP folder Using Outlook 4
S Outlook macro to move replied / forwarded emails to a seperate folder Using Outlook 1
C Help with a Macro to move emails to a different PST data file Using Outlook 4
J Macro to Insert a Calendar Outlook VBA and Custom Forms 6
W Macro to Filter Based on Latest Email Outlook VBA and Custom Forms 6
D Autosort macro for items in a view Outlook VBA and Custom Forms 2
S HTML to Plain Text Macro - Help Outlook VBA and Custom Forms 1
A Macro to file emails into subfolder based on subject line Outlook VBA and Custom Forms 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 8
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
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 3
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 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
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 Using Outlook 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

Similar threads

Top