TouchAllItems

VBScript und 64Bit !
Viele 32bit COM-Objekte lassen sich auf einem 64bit System nur instanziieren, wenn die 32bit Version von CSCRIPT/WSCRIPT genutzt wird, welcher unter C:\Windows\SysWOW64\cscript.exe liegt.

Der Begriff "Touch" bedeutet etwas "anzufassen" um anderen Prozessen eine Änderungsverarbeitung vorzugaukeln. Es gibt an vielen Stellen Funktionen, die erst lost laufen, wenn sich etwas geändert hat oder so aussieht, als hätte ich was geändert. Im Dateisystem ist so etwas sehr oft der Fall, wenn Protokolldateien über einen "TAIL" weiter verarbeitet werden.

Achtung
Das folgende VBA-Makro ändert alle Objekte kurz ab, d.h. alle Folgeprozesse wie öffentliche Ordner Replikation oder Outlook OST-Replikation werden ebenfalls neu aufsetzen.

Wenn Sie also entsprechende Szenarien testen wollen oder müssen, dann kann ihnen ein VBA-Makro zur Seite stehen, welches einfach alle Objekte in einem Ordner kurzzeitig ändert. Denkbar wäre

  • Anstoßen einer öffentlichen Ordner Replikation
    z.B. wenn die Replikationsnachrichten verloren gegangen sind.
  • erneute Verarbeitung durch eine CRM-Anwendung anfordern
    Wenn diese einen Ordner "überwacht"
  • Funktion eines Store-Sink prüfen
    z.B. Um Eigenentwicklungen auf Stabilität und Tauglichkeit zu prüfen.
  • Performance und Antwortzeiten müssen
    z.B. vor und nach der Installation eines Virenscanners
  • Archivprodukte

Das Beispiel nutzt dazu den Betreff. Der Code ist aber so einfach, dass er auch ohne umfangreiche Erläuterungen zu verstehen ist.

  • Download
    Laden Sie sich zuerst den Code als TXT-Datei herunter und speichern diesen ab.

touchallitems.vba
Bitte TXT-Datei per Zwischenablage in den Outlook VBA-Editor kopieren

  • Zwischenablage
    öffnen Sie die Textdatei mit Notepad und kopieren Sie einfach alles in die Zwischenablage.
  • Outlook Code Editor
    Starten Sie dann in Outlook den Code Editor durch einen Druck auf "ALT-F11" und fügen Sie den Code direkt in das Fenster ein.

  • Ordner in Outlook auswählen
    Ehe Sie nun gleich auf "Play" drücken, sollten Sie erst noch einmal nach Outlook zurückschalten (ALT-TAB) und dort den gewünschten Ordner für die folgenden Aktionen auswählen.
  • Skript im Einzelschritt starten
    Schalten Sie dann wieder mit ALT-TAB zum VBA-Editor um und positionieren Sie den Cursor in der soeben angelegten Prozedur und drücken Sie einfach "F8". Die Zeile "sub TouchAllItems()" sollte nun gelb hinterlegt sein.
    Sie können nun mit "F8" schrittweise Zeile um Zeile durchgehen und die Arbeit des Programms beobachten. Im "Direktfenster" unten (eventuell Über "Ansicht - Direktfenster" einzublenden) sehen Sie, nach dem Ausführen der Zeile "debug.print...." den Betreff der Mail, die gleich geändert wird.
    Nach dem ersten "item.save" können Sie in Outlook sofort die Änderung sehen, die mit dem zweiten "item.save" wieder Rückgängig gemacht wird.
  • Alle Verarbeiten
    Wenn Sie sich sicher fühlen, können Sie das Skript mit "F5" auch ohne weitere Unterbrechungen bis zum Ende ablaufen lassen.

Dieses kleine VBA-Makro soll zeige, wie einfach man in Outlook müssenÄnderungen in Ordnern durchführen kann.

Weitere Links