B
Bob Smith
I have a real simple function that all it does is Delete messages older than
X days. I'm not sure why, but if I run it once it deletes some of the
messages but not all. With 1000's of messages in the folder it may take 3 or
4 runs for it to finally delete all the messages over X days. Is there some
problem with CDO where it can only process a small number of messages at one
time?
Dim NumDaysToDelete
NumDaysToDelete = 3
CleanMail(NumDaysToDelete)
Sub CleanMail
Dim oSession
Set oSession = CreateObject("MAPI.Session")
strProfileInfo = "cgyex001" & vblf & "ecntrckm"
oSession.Logon "", "", False, True, 0, True, strProfileInfo
Const CdoDefaultFolderInbox = 1 ' uncomment for VBScript code
Dim oFolder
Set oFolder = oSession.GetDefaultFolder(CdoDefaultFolderInbox)
Dim oMessages
Set oMessages = oFolder.Messages
For Each oMessage In oMessages
If DateDiff("d",oMessage.TimeReceived,now) >= NumDaysToDelete Then
oMessage.Delete
End if
Next
End Sub
X days. I'm not sure why, but if I run it once it deletes some of the
messages but not all. With 1000's of messages in the folder it may take 3 or
4 runs for it to finally delete all the messages over X days. Is there some
problem with CDO where it can only process a small number of messages at one
time?
Dim NumDaysToDelete
NumDaysToDelete = 3
CleanMail(NumDaysToDelete)
Sub CleanMail
Dim oSession
Set oSession = CreateObject("MAPI.Session")
strProfileInfo = "cgyex001" & vblf & "ecntrckm"
oSession.Logon "", "", False, True, 0, True, strProfileInfo
Const CdoDefaultFolderInbox = 1 ' uncomment for VBScript code
Dim oFolder
Set oFolder = oSession.GetDefaultFolder(CdoDefaultFolderInbox)
Dim oMessages
Set oMessages = oFolder.Messages
For Each oMessage In oMessages
If DateDiff("d",oMessage.TimeReceived,now) >= NumDaysToDelete Then
oMessage.Delete
End if
Next
End Sub