Zum Inhalt springen
Hilfe zu Outlook, Thunderbird, KuNoMail & Co.

Email Anhänge in Outlook 2007 speichern und aus Email löschen

Überblick

Status
Beantwortet
Gefragt von
Schaefers
Gefragt am
Antworten
4
Letzte Antwort
von Unbekannt

Frage

Hi,

auf Seite https://www.mailhilfe.de/beitrag-outlook-anhnge-aus-nachrichten-entfernen-und-automatisch-abspeichern-1326-html steht der unten stehende Code um Anhänge zu speichern und zu löschen. Leider funktioniert das Makro nicht. Ich weiss nicht ob es an Outlook 2007 liegt oder ob der Code falsch ist. Könnte das bitte jemand mal überprüfen?

Fehlermeldung ist: Fehler beim Kompilieren. Erwartet Zeilennr oder Sprungmarke oder Anweisung oder Anweisungsende

Vielen Dank
Gregor

Sub AnhaengeSpeichern()

\’Festlegen der Parameter

Dim myOrt As String

Dim myOlApp As New Outlook.Application

Dim myOlExp As Outlook.Explorer

Dim myOlSel As Outlook.Selection

Dim myteils, myteil, myAnhänge, myAnhang As Object

\’Hier wird nach dem Ort gefragt wo gespeichert werden soll, _

wenn Sie den Pfad ändern. Muss dieser vorher schon erstellt sein

myOrt = InputBox(\“Speicherort\“, \“Anhänge Speichern unter: \“, \“C:\“)

On Error Resume Next

\’arbeitet die einzelnen Nachrichten ab

Set myOlExp = myOlApp.ActiveExplorer

Set myOlSel = myOlExp.Selection

\’für alle Teile…

For Each myteil In myOlSel

\’Anhänge festlegen

Set myAnhänge = myteil.Attachments

\’wenn welche dar sind, dann

If myAnhänge.Count > 0 Then

\’fügt einen Hinweis in die Email ein

myteil.Body = myteil.Body & vbCrLf & _

\“Entfernte Anhänge:\“ & vbCrLf

\’und für alle Anhänge…

For i = 1 To myAnhänge.Count

\’nun werden Sie am Speicherort abgelegt

myAnhänge(i).SaveAsFile myOrt & _

myAnhänge(i).DisplayName

\’hier wird Name und der Ort in der Nachricht eingetragen

myteil.Body = myteil.Body & _

\“Datei: \“ & myOrt & _

myAnhänge(i).DisplayName & vbCrLf

Next i

\’für alle Anhänge…

While myAnhänge.Count > 0

\’entferne es (wird für Outlook 2002/2003 benötigt)

\’myAnhänge.Remove 1

\’entferne es (wird für Outlook 2000 benötigt)

myAnhänge(1).Delete

Wend

\’abspeichern ohne Anhang

myteil.Save

End If

Next

\’free variables

Set myteils = Nothing

Set myteil = Nothing

Set myAnhänge = Nothing

Set myAnhang = Nothing

Set myOlApp = Nothing

Set myOlExp = Nothing

Set myOlSel = Nothing

Resume

End Sub

[Editiert am 14/4/2009 von Mailhilfe]

4 Antworten

4 Antworten anzeigen - 1 bis 4 (von insgesamt 4)
  1. Hallo,

    diese Dinger gehören da nicht rein.

    Viele Grüße
    Michael Bauer

  2. Vielen Dank. Es mußten allerdings noch die Unterstriche und folgenden Zeilenumbrüche weg.
    Unten der funktionierende Code für Outlook 2007. Dateien stehen dann in C in diesem Beispiel

    Da gleich die nächste Frage: Wer kann mir zeigen was ich ändern muß, damit ich den Speicherort selbst mit dem Explorer wählen kann und wenn wir schon dabei sind, wie sorge ich dafür das mein Gesamtdateiname dann so lautet: Datum(Format:YYYYMMDD)_Sendernachname_Dateiname

    Sub AnhaengeSpeichern()

    \’Festlegen der Parameter

    Dim myOrt As String

    Dim myOlApp As New Outlook.Application

    Dim myOlExp As Outlook.Explorer

    Dim myOlSel As Outlook.Selection

    Dim myteils, myteil, myAnhänge, myAnhang As Object

    \’Hier wird nach dem Ort gefragt wo gespeichert werden soll, wenn Sie den Pfad ändern. Muss dieser vorher schon erstellt sein

    myOrt = InputBox(\“Speicherort\“, \“Anhänge Speichern unter: \“, \“C:\“)

    On Error Resume Next

    \’arbeitet die einzelnen Nachrichten ab

    Set myOlExp = myOlApp.ActiveExplorer

    Set myOlSel = myOlExp.Selection

    \’für alle Teile…

    For Each myteil In myOlSel

    \’Anhänge festlegen

    Set myAnhänge = myteil.Attachments

    \’wenn welche dar sind, dann

    If myAnhänge.Count > 0 Then

    \’fügt einen Hinweis in die Email ein

    myteil.Body = myteil.Body & vbCrLf & \“Entfernte Anhänge:\“ & vbCrLf

    \’und für alle Anhänge…

    For i = 1 To myAnhänge.Count

    \’nun werden Sie am Speicherort abgelegt

    myAnhänge(i).SaveAsFile myOrt & myAnhänge(i).DisplayName

    \’hier wird Name und der Ort in der Nachricht eingetragen

    myteil.Body = myteil.Body & \“Datei: \“ & myOrt & myAnhänge(i).DisplayName & vbCrLf

    Next i

    \’für alle Anhänge…

    While myAnhänge.Count > 0

    \’entferne es (wird für Outlook 2002/2003 benötigt)

    \’myAnhänge.Remove 1

    \’entferne es (wird für Outlook 2000 benötigt)

    myAnhänge(1).Delete

    Wend

    \’abspeichern ohne Anhang

    myteil.Save

    End If

    Next

    \’free variables

    Set myteils = Nothing

    Set myteil = Nothing

    Set myAnhänge = Nothing

    Set myAnhang = Nothing

    Set myOlApp = Nothing

    Set myOlExp = Nothing

    Set myOlSel = Nothing

    Resume

    End Sub

  3. Da gleich die nächste Frage: Wer kann mir zeigen was ich ändern muß, damit ich den Speicherort selbst mit dem Explorer wählen kann und wenn wir schon dabei sind, wie sorge ich dafür das mein Gesamtdateiname dann so lautet: Datum(Format:YYYYMMDD)_Sendernachname_Dateiname

  4. Da gleich die nächste Frage: Wer kann mir zeigen was ich ändern muß, damit ich den Speicherort selbst mit dem Explorer wählen kann und wenn wir schon dabei sind, wie sorge ich dafür das mein Gesamtdateiname dann so lautet: Datum(Format:YYYYMMDD)_Sendernachname_Dateiname

4 Antworten anzeigen - 1 bis 4 (von insgesamt 4)
  • Sie müssen angemeldet sein, um zu diesem Thema eine Antwort verfassen zu können.