rrhandle8
asked on
Cannot move Outlook emails with VBA
I keep getting this error: Object variable or with block variable not set
The error is on line: Set oItem = oItems.FindNext
The error is on line: Set oItem = oItems.FindNext
Sub MoveToTrackingFolder()
Dim oNS As Outlook.NameSpace
Dim oFolder As Outlook.MAPIFolder
Dim oItem As Object 'mailItem
Dim cntShipDetails, i As Integer
Dim oDestFolder As Outlook.MAPIFolder
Dim oItems As Outlook.Items
Set oNS = GetNamespace("MAPI")
Set oFolder = oNS.Folders(EmailAccount)
Set oFolder = oFolder.Folders("Inbox")
Set oDestFolder = oNS.Folders(EmailAccount)
Set oDestFolder = oDestFolder.Folders("Inbox")
Set oDestFolder = oDestFolder.Folders("Tracking")
For Each oItem In oFolder.Items
If TypeName(oItem) = "MailItem" Then
If Left(oItem.Subject, 31) = "Information about your order (#" And oItem.ReceivedTime > #11/19/2014# Then
oItem.Move oDestFolder
Set oItem = oItems.FindNext
End If
End If
Next
End Sub
ASKER
I removed the line Set oItem = oItems.FindNext and it works.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
You don't need the FindNext when iterating through messages the way you are. FindNext is used after a Find command. You are using Find, so FindNext won't work.
http:#a40455266 was just repeating what I said (plus a typo - you are not using Find), with a time difference of 18 minutes. That does not count as "simultanous" (the agreed time difference for "same time answers" is ~5 minutes), so that comment should not have accepted.
ASKER