Outlook 2010 VBA Kopieren: löschen

K

Klonky

Gast
Hey Leute.


Derzeit habe ich hier ein Outlook Profil vor mir liegen mit ca 1500 Kalendereinträge + ca 4000 "Kopieren: " Einträge, die doppelt sind.

Ich muss nun erstmal alle kopieren löschen und dann schauen wie ich das Cleanup mache. Das Problem ist, alle Serieneinträge etc werden nicht mehr aktualisiert, da sie Kopiert sind und nicht verschoben wurden. Dort hat ein HelpDesk Mitarbeiter leider etwas gefuscht scheinbar.

Nun habe ich mir dafür ein Makro geschrieben, das alles durchgeht und die Kopieren: löschen müsste. Aber entweder Outlook ist die Datenflut von 5500 Einträgen nicht gewachsen oder andere Grunde, aber es funktioniert einfach nicht durchgänig.

Anfangs löscht er bis zu 100, aber dann hört er plötzlich auf.


Hier ist das Makro

Code:
Sub RemoveCopy()

Dim myolApp As Outlook.Application

Dim calendar As MAPIFolder

Dim aItem As Object


Set myolApp = CreateObject("Outlook.Application")

Set calendar = myolApp.ActiveExplorer.CurrentFolder

iItemsUpdated = 0

For Each aItem In calendar.Items

    If Mid(aItem.Subject, 1, 10) = "Kopieren: " Then

      aItem.Delete

    End If


Next aItem

End Sub


Jemand eine Idee was ich machen könnte damit er da mal endlich richtig durchgeht? Mich ärgert es wirklich immens...
 
Vielleicht sehe ich das zu einfach, aber kannst Du nicht einfach den Kalender mit nach "Kopieren: " durchsuchen, markieren und dann löschen?
 
Scheinbar ignoriert Outlook den Suchbegriff "kopieren:" genauso wie "Copy:" also dort findet man nichts, deshalb die Lösung mit dem Makro.
 
eine der grundlegenden regeln in der programmierung ist:
niemals aus einer liste löschen, über die gerade iteriert wird.
und genau das machst du womöglich.
lass dir mal nach jedem durchlauf die größe von calendar ausgeben.

evtl. brauchst du eine temporäre liste.
 
Zurück
Oben