Outlook

MS-Outlook Mails und Anhänge automatisch ins Dateisystem exportieren

Übersicht
Das Problem

Du machst regelmäßig eine Datensicherung Deiner wichtigen Dateien (... na hoffentlich !)...

Die Outlook-Datendateien (PST-Files) Deines Outlook haben inzwischen Größen von zig Megabytes erreicht und werden jedes Mail komplett mitgesichert, auch wenn nur eine Mail (von ganz wenigen Kilobytes) dazugekommen ist. Das dauert und kostet auch noch unnötig Platz auf den Sicherungsmedien.

Du bekommst viele Mails (z.B. Newsletter), die Du nicht sofort lesen und löschen kannst, die aber automatisch nach einer gewissen Zeit (z.B. 2 Wochen) gelöscht werden können, da nicht mehr aktuell.

Die Idee

Es wird auf die (tägliche) Sicherung der Outlook-Datendateien verzichtet. Statt dessen werden die "neuen" Nachrichten automatisch in ein Verzeichnis Deiner Wahl ins Dateisystem als einzelne Nachrichten (*.msg) mitsamt ihren Anhängen exportiert und auf diesem Wege über die Datensicherung erfasst. Mails in besonders gekennzeichneten Ordnern werden nach einer definierten Zeitspanne gelöscht.

Die Lösung

Ein wenig VBA-Code an der richtigen Stelle speichert beim Beenden von Outlook die (un-) gelesenen Mails in den (Unter-) Ordnern Deiner Wahl in ein Verzeichnis Deiner Wahl.

Zusätzlich werden nicht mehr benötigte Mails (z.B. Newsletter) nach einer frei definierbaren Zeitspanne (n Tage) automatisch gelöscht.

Hinweis: Der Programmcode wurde primär unter Office 2003 entwickelt und unter Outlook 2000/XP/2003/2007 getestet. Bitte unter Outlook2007 auf die unterschiedliche Schreibweise (de/en) von DieseOutlookSitzung achten.


Die Schritte im Einzelnen

Die notwendigen Programmroutinen werden beim Beenden der Outlook-Sitzung ausgeführt. Outlook hat dafür in seinem Objektmodell ein entsprechendes Ereignis (Application_Quit) für vorgesehen. Damit das Programm wie geplant funktioniert, musst Du den hier hinterlegten Programmcode im Codefenster der aktuellen Outlook-Sitzung eingeben, kompilieren und speichern.


Aufzählung Diesen Programmcode (ZIP-Archiv) auf Deinen PC in ein beliebiges Verzeichnis (z.B. c:\download) runterladen.
Aufzählung Alternative Download-Möglichkeiten hier: khoSAM received "100% CLEAN" award on DownloadRoute.com oder
Aufzählung Das ZIP-Archiv auspacken (Windows Explorer, Rechter Mausklick: Alle extrahieren..., [Weiter], Nach C:\download\khoSAM extrahieren, [Weiter], [Fertigstellen]
Aufzählung Outlook starten
Aufzählung Mit Alt + F11 den Visual Basic-Editor öffnen
Aufzählung Doppelklick im Projekt-Explorer auf den Eintrag DieseOutlookSitzung, wobei Du  gegebenenfalls zuvor die übergeordneten Zweige einblenden musst. Es sollte sich ein ähnliches Bild wie hier ergeben: VBA
Aufzählung Achtung ! Unter Outlook2007 heißt dieser Ordner ThisOutlookSession und muss auch im Programmcode entsprechend umbenannt werden. In dieser Beschreibung ist aber weiterhin immer nur von DieseOutlookSitzung die Rede.
Aufzählung Rechtsklick auf DieseOutlookSitzung, und Datei importieren... Der Programmcode zu DieseOutlookSitzung.cls findet sich hier.
Aufzählung Im Import-Dialog die oben extrahierte Datei DieseOutlookSitzung.cls suchen und [Öffnen].
Aufzählung Der Code landet dann in einem neuen Klassenmodul als DieseOutlookSitzung1: OL Sitzung
Aufzählung Doppelklick auf DieseOutlookSitzung1, dann ins rechte Fenster wechseln und mit Strg+A alles markieren und mit Strg+X alles ausschneiden.
Aufzählung Doppelklick auf DieseOutlookSitzung, dann ins rechte Fenster wechseln und mit Strg+V alles einfügen.
Aufzählung Rechtsklick auf DieseOutlookSitzung1, und Entfernen von DieseOutlookSitzung1... Die Nachfrage wg. Exportieren kann mit Nein beantwortet werden.
Aufzählung Im Projekt-Ordner Rechtsklick und und Datei importieren... Der Programmcode zu frmProgress.frm findet sich hier.
Aufzählung Im Import-Dialog die oben extrahierte Datei frmProgress.frm suchen und [Öffnen].
Aufzählung Das Ergebnis sollte wie folgt aussehen:Ordner
Aufzählung Im Codebereich von DieseOutlookSitzung bei den Konstanten für die Konfiguration die gewünschten Anpassungen vornehmen. Details zu den einzelnen Konfigurationsparameter werden auf dieser Seite erläutert.
Aufzählung Menü Debuggen / Kompilieren von ...
Aufzählung Visual Basic-Editor über Alt+Q beenden
Aufzählung Beim anschließenden Schließen von Outlook kommt (einmalig) diese Meldung:
Save... Den Dialog bitte mit [Ja] bestätigen.

Programmnutzung

Ab dem nächsten Outlook-Start läuft automatisch die Ereignisbehandlung beim Beenden ab.

Sichtbar wir das durch das Aufblenden des Formulars für den Verarbeitungsfortschritt.

Es werden innerhalb des Formulars zwei Hauptaktivitäten gemeldet, das Löschen von nicht mehr benötigen Nachrichten sowie das Sichern neuer Nachrichten. In der ersten Zeile wird der Verarbeitungsfortschritt durch 3 Einträge dokumentiert. Und zwar (von links nach rechts) durch die Position und den Namen der aktuellen PST-Datei, die Anzahl der schon verarbeiteten Nachrichten und den Fortschrittsgrad in Form einer Prozentzahl. Basis des Vergleichs sind die Ergebnisse des letzten Durchlaufes. Bei stark schwankender Mailanzahl innerhalb der Outlook-Datei(en) gibt es natürlich gewisse Unschärfen.

Löschen Sichern

Über die Schaltfläche [Vorgang abbrechen] kann der Vorgang jederzeit beendet werden. In diesem Fall wird aber keine Verarbeitungsstatistik fortgeschrieben! Solange das Fortschrittsformular sichtbar ist, bleibt auch  das Outlook-Icon im System-Tray unten rechts zu sehen.

  • Hinweis 1: Die Reihenfolge, in der die Ordner durchlaufen werden, ist nicht vorhersehbar.
  • Hinweis 2: Der gesamte Vorgang nimmt durchaus einige Zeit (je nach Größe und Anzahl der PST-Dateien und Schnelligkeit der CPU) in Anspruch.
  • Hinweis 3: Da an einigen Stellen eine Prüfung auf Mailadressen stattfindet, kommt seit Outlook XP eine Sicherheitsabfrage bezüglich des Programmzugriffs auf den Outlook-Adressenbestand. Diese Abfrage sollte mit JA und einem entsprechenden Zeitfenster (1 min - 3 min) beantwortet werden, um das Programm 'in Ruhe' ablaufen zu lassen.
  • Hinweis 4: Damit das Makro überhaupt ausgeführt wird, muss im Outlook-Menü Extras unter Makro / Sicherheit... die Sicherheitsstufe auf 'Mittel' gesetzt werden.
  • Hinweis 5: Unter Outlook2007 bitte die unterschiedliche Schreibweise von DieseOutlookSitzung und ThisOutlookSession beachten.

khoSAM received 100% CLEAN award on DownloadRoute.com khoSAM is safe to download
zurück Copyright: Karl-Holger Osterbuhr 2005-2019 - Alle Rechte vorbehalten Stand: 15.01.2019