Makro zur Mailsicherung auf CD

Hallo,

ich möchte mir ein Makro zur Mailsicherung einbauen. Hab dies auch schon herausgefunden und es funktioniert auch - bis auf die Fehlermeldung der Laufzeitüberschreitung.

Wer kennt sich damit aus??? Die Sicherung der Mails funktioniert - wenn aber sehr viele Mails auf dem Datensicherungsordner gespeichert werden habe ich den Laufzeitfehler „Z147286788(800300fcy:“ Fehler beim Ausführen der Operation.

Hier die Anleitung der Makroerstellung damit Ihr das auch einmal ausprobieren könnt:

Optimal wäre es, alle Nachrichten eines Ordners einzeln im Nachrichten-Format (*.msg) in einem einzigen Arbeitsschritt speichern zu können. Die Einzeldateien lassen sich dann zum Beispiel nach dem Brennen auf CD einfach per Doppelklick öffnen, so dass nicht nur Formatierungen und Header-Informationen, sondern auch die Anhänge erhalten bleiben. Eine kleine VBA-Routine hilft weiter:

Wechseln Sie mit Alt+F11 in die VBA-Entwicklungsumgebung.
Geben Sie die folgende Prozedur „SaveAllMsgs“ und die Funktion „FileSysName()“ in einem vorhandenen oder einem neuen Modul ein:
Sub SaveAllMsgs()
Dim objNamespace As NameSpace
Dim objFolder As MAPIFolder
Dim objTmp As Object
Dim Cnt&

Const cstrFolder = „C:\Test\Outlook-Nachrichten“

Set objNamespace = GetNamespace(„MAPI“)
Set objFolder = objNamespace.PickFolder
If objFolder Is Nothing Then Exit Sub
If objFolder.DefaultItemType olMailItem Then
Beep
MsgBox „Ordner ist kein Nachrichtenordner!“, _
vbOKOnly + vbExclamation, „!!! Problem !!!“
Exit Sub
End If

Cnt = 0
For Each objTmp In objFolder.Items
objTmp.SaveAs cstrFolder & _
FileSysName(objTmp.Subject), olMSG
Cnt = Cnt + 1
Next objTmp

Beep
If Cnt > 0 Then
MsgBox „Es wurden " & CStr(Cnt) & _
" Nachrichten in " & _
cstrFolder & " gesichert…“, _
vbOKOnly + vbInformation, _
„Alle Nachrichten speichern:“
Else
MsgBox „Keine Nachrichten zum Speichern gefunden!“, _
vbOKOnly + vbExclamation, _
„Alle Nachrichten speichern:“
End If

End Sub

Function FileSysName(strSubject As String) As String
Dim strInvalid
Dim I&

strInvalid = „/:+*?|“ & Chr$(34)
For I = 1 To Len(strSubject)
If InStr(strInvalid, Mid$(strSubject, I, 1)) 0 Then
Mid$(strSubject, I, 1) = „_“
End If
Next I
FileSysName = strSubject & „.msg“

End Function

Passen Sie bei der Eingabe die folgende Zeile auf das Verzeichnis an, in das die Nachrichten auf Ihrem System gespeichert werden sollen:

Const cstrFolder = „C:\Test\Outlook-Nachrichten“

Achten Sie darauf, dass das Verzeichnis vor dem Start der Lösung angelegt sein muss und die Pfadangabe einen abschließenden Backslash „“ beinhaltet!

Sichern Sie die Änderungen und verlassen Sie die VBA-Entwicklungsumgebung durch einen Klick auf das Schließen-Symbol oben rechts in der Titelleiste (kleines „X“).
Zurück in Outlook klicken Sie mit der rechten Maustaste auf eine Symbolleiste, wählen Sie Anpassen im Kontextmenü an und wechseln Sie im folgenden „Anpassen“-Dialog auf die Registerkarte „Befehle“.
Stellen Sie die Liste „Kategorien“ auf „Makros“ und ziehen Sie den Eintrag „Modulname.SaveAllMsgs“ in die gewünschte Symbolleiste.
Klicken Sie mit der rechten Maustaste auf das neue Symbol und nehmen Sie im Eigenschaften-Menü die gewünschten Einstellungen bezüglich Bezeichnung und Gruppierung vor.
Klicken Sie im „Anpassen“-Dialog auf die Schaltfläche Schließen.
In Zukunft können Sie nun alle Nachrichten eines Outlook-Ordners in das Verzeichnis speichern, das Sie in der Prozedur „SaveAllMsgs“ festgelegt haben. Dazu zeigt die Lösung zunächst eine Ordnerauswahl an, in der Sie den gewünschten Nachrichten-Ordner auswählen. In einer Schleife werden dann alle Nachrichten der Reihe nach in das angegebene Verzeichnis gespeichert. Als Dateiname wird die Betreffzeile der jeweiligen Nachricht verwendet. Ungültige Zeichen, die im Dateisystem nicht verwendet werden dürfen, filtert dazu die Funktion „FileSysName()“ heraus und ersetzt sie durch Unterstriche „_“. Wenn die Prozedur ihre Arbeit erledigt hat, wird eine kleine Abschlussmeldung angezeigt, die Sie über die Anzahl der gespeicherten Nachrichten informiert.

Bitte beachten Sie, dass beim Zugriff auf Nachrichten die Sicherheitsabfrage von Outlook aktiviert wird. Gewähren Sie hier je nach Anzahl der zu speichernden Nachrichten den Zugriff für 5 bis 10 Minuten.

Danke

Hans

Hallo Hans,

da gibt es in Outlook die Archivierung.

Die macht quasi auch eine Datensicherung. Oder man kopiert die PST - Datei -> fertig ist die Datensicherung.

Gruß Wolfgang

Hallo Wolfgang,
vielen Dank für Deinen Hinweis - genau das möchte ich nicht da man immer die PST Datei in Outlook einbinden muss. Ich möchte meine PST Datei nicht auf meinem Arbeits PC Kopieren da private Sachen dort nicht hingehören. Als Datei auf einer CD lassen sich die Nachrichten mit dem Explorer ganz bequwem verwalten - und es gibt auch keine Probleme mit der IT Sicherheit.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Hans,

vielen Dank für Deinen Hinweis - genau das möchte ich nicht da
man immer die PST Datei in Outlook einbinden muss.

das ist doch keine Problem!?

Ich möchte meine PST Datei nicht auf meinem Arbeits PC Kopieren
da private Sachen dort nicht hingehören.

Da hast Du Recht, aber wer sagt, dass Du die Datei auf den Pc kopieren mußt!?

Als Datei auf einer CD lassen sich die Nachrichten mit dem Explorer
ganz bequwem verwalten - und es gibt auch keine Probleme mit der
IT Sicherheit.

und warum bindest Du die PST auf der CD nicht in Dein Outlook ein!?

Gruß
Wolfgang