Macro to move mail from Inbox if older than 4 days

Status
Not open for further replies.

jo15765

Member
Outlook version
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.
 
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
 
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.
 
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?
 
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
N Line to move origEmail to subfolder within a reply macro Outlook VBA and Custom Forms 0
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
X Run macro automatically when a mail appears in the sent folder Using Outlook 0
mrrobski68 Issue with Find messages in a conversation macro Outlook VBA and Custom Forms 1
G Creating Macro to scrape emails from calendar invite body Outlook VBA and Custom Forms 6
M Use Macro to change account settings Outlook VBA and Custom Forms 0
J Macro to Reply to Emails w/ Template Outlook VBA and Custom Forms 3
C Outlook - Macro to block senders domain - Macro Fix Outlook VBA and Custom Forms 2
Witzker Outlook 2019 Macro to seach in all contact Folders for marked Email Adress Outlook VBA and Custom Forms 1
S macro error 4605 Outlook VBA and Custom Forms 0
A Macro Mail Alert Using Outlook 4
J Outlook 365 Outlook Macro to Sort emails by column "Received" to view the latest email received Outlook VBA and Custom Forms 0
J Macro to send email as alias Outlook VBA and Custom Forms 0
M Outlook Macro to save as Email with a file name format : Date_Timestamp_Sender initial_Email subject Outlook VBA and Custom Forms 0
Witzker Outlook 2019 Macro GoTo user defined search folder Outlook VBA and Custom Forms 6
D Outlook 2016 Creating an outlook Macro to select and approve Outlook VBA and Custom Forms 0
Witzker Outlook 2019 Macro to send an Email Template from User Defined Contact Form Outlook VBA and Custom Forms 0
Witzker Outlook 2019 Macro to check Cursor & Focus position Outlook VBA and Custom Forms 8
V Macro to mark email with a Category Outlook VBA and Custom Forms 4
M Outlook 2019 Macro not working Outlook VBA and Custom Forms 0
S Outlook 365 Help me create a Macro to make some received emails into tasks? Outlook VBA and Custom Forms 1
Geldner Send / Receive a particular group via macro or single keypress Using Outlook 1
D Auto Remove [EXTERNAL] from subject - Issue with Macro Using Outlook 21
V Macro to count flagged messages? Using Outlook 2
sophievldn Looking for a macro that moves completed items from subfolders to other subfolder Outlook VBA and Custom Forms 7
S Outlook Macro for [Date][Subject] Using Outlook 1
E Outlook - Macro - send list of Tasks which are not finished Outlook VBA and Custom Forms 3
E Macro to block senders domain Outlook VBA and Custom Forms 1
D VBA Macro to Print and Save email to network location Outlook VBA and Custom Forms 1
N VBA Macro To Save Emails Outlook VBA and Custom Forms 1
Witzker Outlook 2019 Macro to answer a mail with attachments Outlook VBA and Custom Forms 2
A Outlook 2016 Macro to Reply, ReplyAll, or Forward(but with composing new email) Outlook VBA and Custom Forms 0
J Macro to Insert a Calendar Outlook VBA and Custom Forms 8
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

Similar threads

Back
Top