The script below moves Read emails to the Personal Folder creating a folder with the sender's name then puts the email in that folder. I can't seem to come up with a way to leave emails 30 days old or less alone and do not move them. Outlook 2003
Can anyone help?
======================
Sub Folders()
Const strPersonalMain As String = "Personal Folders"
Const strPersonalInbox As String = "00 All Sort"
Dim oaoutlook As Outlook.Application
Dim myNameSpace As Outlook.NameSpace
Dim fldInbox, fldNew, fldPersonal, fldInbox2 As MAPIFolder
Dim MailItem As MailItem
Dim intX As Integer
Dim strFolderName As String
On Error Resume Next
Set oaoutlook = CreateObject("Outlook.Application")
Set myNameSpace = oaoutlook.GetNamespace("MAPI")
Set fldInbox = myNameSpace.GetDefaultFolder(olFolderInbox)
Set fldPersonal = myNameSpace.Folders(strPersonalMain)
Set fldInbox2 = fldPersonal.Folders(strPersonalInbox)
For intX = 1 To fldInbox.Items.Count
Set MailItem = fldInbox.Items(intX)
If MailItem.Class = olMail And MailItem.UnRead = False Then
strFolderName = MailItem.SenderName
Err.Clear
Set fldNew = fldInbox2.Folders(strFolderName)
If Err.Number <> 0 Then
Set fldNew = fldInbox2.Folders.Add(strFolderName)
End If
MailItem.Move fldNew
Set MailItem = Nothing
End If
Next intX
End Sub
============================
Thanks for any help!
Can anyone help?
======================
Sub Folders()
Const strPersonalMain As String = "Personal Folders"
Const strPersonalInbox As String = "00 All Sort"
Dim oaoutlook As Outlook.Application
Dim myNameSpace As Outlook.NameSpace
Dim fldInbox, fldNew, fldPersonal, fldInbox2 As MAPIFolder
Dim MailItem As MailItem
Dim intX As Integer
Dim strFolderName As String
On Error Resume Next
Set oaoutlook = CreateObject("Outlook.Application")
Set myNameSpace = oaoutlook.GetNamespace("MAPI")
Set fldInbox = myNameSpace.GetDefaultFolder(olFolderInbox)
Set fldPersonal = myNameSpace.Folders(strPersonalMain)
Set fldInbox2 = fldPersonal.Folders(strPersonalInbox)
For intX = 1 To fldInbox.Items.Count
Set MailItem = fldInbox.Items(intX)
If MailItem.Class = olMail And MailItem.UnRead = False Then
strFolderName = MailItem.SenderName
Err.Clear
Set fldNew = fldInbox2.Folders(strFolderName)
If Err.Number <> 0 Then
Set fldNew = fldInbox2.Folders.Add(strFolderName)
End If
MailItem.Move fldNew
Set MailItem = Nothing
End If
Next intX
End Sub
============================
Thanks for any help!