Deleting items in public folder

M

Maria Jensen

Hi there,

I have a curious situation. I want the user to pick a folder, do stuff with
each item in the folder and then delete the item (not the folder). When I
try this, it seems that I only get through half the folder, then it exits.
That means that only half the messages are deleted. If I just run through
the folder without doing Item.Delete, my code runs through all items.

Now, the folder chosen is a public folder - I have a feeling that perhaps
that has something to do with this problem.

Can anyone help?

This is my code:

Set oApp = New Outlook.Application

Set oNamespace = oApp.GetNamespace("MAPI")

Set oFolder = oNamespace.PickFolder

If Not oFolder Is Nothing Then

MsgBox "No of mails: " & oFolder.Items.Count


For Each Item In oFolder.Items

---- Doing stuff -----

Item.Delete

Next

End If
 
N

neo [mvp outlook]

The problem is within the For/Each loop. Basically it is going to process
every other item because the instant a delete is issued, the items
collection is reordered. You need to rewrite the loop so it process the
items in a descending order.
 
M

Maria Jensen

Processing the items in descending order solved the problem. Thank you very
much

:) Maria
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top