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.
"Maria Jensen" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> 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
>
>
|