Email speichern mit VBS

Hallo (:

Ich bin absoluter Neuling in VBA / VBS und habe ein bisschen mit Outlook Programmierung herumgespielt, um mir den Bueroalltag zu vereinfachen.

Ich moechte gerne Emails in einen Ordner speichern.

Deshalb habe ich mir eine UserForm erstellt (die ich spaeter ueber einen Button in der Toolbar oeffnen moechte) und mir gedacht, dass ich dort einfach einen Button raufklatsche und mit ihm einen SaveDialog öffne, der dann einen voreingestellten Pfad anzeigt, wo ich meine Mails speichern kann.

Allerdings klappts nicht so, wie ich mir das vorgestellt habe (und das erst bei drei Zeilen *peinlich peinlich*).

Ich habe in der Hilfe bereits gesucht und vielversprechende Stichworte wie msoFileDialogSaveAs gefunden, die ich allerdings nicht so richtig anwenden konnte…

Hier mal die Idee, wie ich es ausprobieren wollte.


Option Explicit

Dim fd As FileDialog
Dim items As Outlook.MailItem

Private Sub CommandButton1_Click()
fd.Path = xxx
fd.Execute

End Sub

Vielen Dank fuer eure Hilfe.

Ja, das ist natürlich schon bei Zeile eins falsch! Du musst mal schauen, dass Du mit der SaveAs Methode arbeiten kannst, dann könnte es kommen. Vom ablauf Her:

  • E-Mail anwählen
  • Knopf Drücken
  • Fenster wie Explorer Öffnen (GetPath)
  • Pfad wählen
  • Beim schliessen Save as mit saveas(GetPath)

Alle Objekte und API elemente deklarieren. (mso…Objekte)
Viel Spass! gibt noch ein paar mehr Zeilen!
Grüsse Sebastian

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

mh… ok, ich bin nun soweit, dass ich auf eine Email zugreifen kann per:


Dim oOApp
Dim oOMail

Private Sub CommandButton1_Click()

Set oOApp = CreateObject(„Outlook.Application“)
Set oOMail = oOApp.CreateItem(olMailItem)

With oOMail
.SaveAS
End With

End Sub


Allerdings kommt dann folgende Fehlermeldung:

Laufzeitfehler ‚449‘
Arugment ist nicht optional

Was ist damit gemeint? Welches Argument wird da angesprochen?

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