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

Home-›Foren-›Outlook-›Outlook VBA-›Email Anhänge in Outlook 2007 speichern und aus Email löschen

5 Antworten anzeigen - 1 bis 5 (von insgesamt 5)
  • Autor
    Beitrag
  • #48530
    Schaefers
    Teilnehmer

    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]

    #170530
    MichaelBauer
    Teilnehmer

    Hallo,

    diese Dinger gehören da nicht rein.

    Viele Grüße
    Michael Bauer

    #170860
    Unbekannt
    Teilnehmer

    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

    #170994
    Unbekannt
    Teilnehmer

    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

    #170995
    Unbekannt
    Teilnehmer

    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

5 Antworten anzeigen - 1 bis 5 (von insgesamt 5)

-

Hat Ihnen der Beitrag gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertung vorhanden)
Loading...