Wouldn't be easier to traverse the items backwards?
m.nTasks = oTasks.Items.Count
FOR m.xx=m.nTasks to 1 STEP -1
IF oTasks.Items[m.xx].Subject="#"
otasks.Items[m.xx].Delete()
ENDIF
ENDFOR
Fred
On Fri, Sep 23, 2011 at 6:41 AM, Dave Crozier <[email protected]> wrote:
> Steve,
> Me being stupid here. The tasks collection is dynamic so when you delete an
> entry then the collection changes so you can't traverse simply oonce through
> it like you are doing.
>
> Each time you delete a task you have to re-initialise the collection and
> traverse again through it, for example:
>
> loOutlook = CREATE("Outlook.Application")
> loNamespace = loOutlook.GetNameSpace("MAPI")
> oTasks = loNameSpace.GetDefaultFolder(13)
>
> nDeletions = 99
> *
> do while nDeletions<>0
> nDeletions=0
> for each loTask in oTasks.Items
> if substr(loTask.Subject,1,1)='#'
> lStatus=loTask.Delete
> nDeletions = nDeletions + 1
> exit
> endif
> endfor
> enddo
>
> Dave
>
[excessive quoting removed by server]
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/profox
OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message:
http://leafe.com/archives/byMID/profox/CAJCBksrXPacAz5Gyawg5qvzo=dwac91s30querydzxutoxm...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the
author, and do not constitute legal or medical advice. This statement is added
to the messages for those lawyers who are too stupid to see the obvious.