Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Automatische Speicherung von bestimmten Outlook Anhängen

Forumthread: Automatische Speicherung von bestimmten Outlook Anhängen

Automatische Speicherung von bestimmten Outlook Anhängen
01.04.2020 13:44:48
bestimmten
Hallo zusammen,
ich nutze bisher zur automatisierten Speicherung von angehängten Dateien in Outlook folgendes Makro zusammen mit einer Regel:
Public Sub Anhaenge_handeln(myItem As Outlook.MailItem)
Dim mAtts As Attachments
Dim mAtt As Attachment
Set mAtts = myItem.Attachments
While mAtts.Count > 0
Set mAtt = mAtts(1)
mAtt.SaveAsFile "C:\meinSpeicherort\" & mAtt.DisplayName
mAtts.Remove 1
Wend
End Sub
Tut soweit auch was es soll. Mein Problem ist nun folgendes:
Ich bekomme regelmäßig Mails mit Anhängen, die folgendes Format haben: "DQuote_wochenreport ST 2020 KW 07" ... "DQuote_wochenreport ST 2020 KW 08" usw.
Nun würde ich gerne zur weiteren Verarbeitung dieser Anhänge den Namen beim Abspeichern ändern bspw in "DQuote_wochenreport ST 2020 aktuell"
Wenn eine neue Auswertung per Mail kommt, soll die alte mit diesen Daten also überschrieben werden. Dazu soll der Großteil des Namens der Datei erhalten bleiben, nur am Ende soll die Bezeichnung der KW weg.
Nun habe ich leider keine Ahnung, wie ich das anstellen soll ... meine VBA Kenntnisse sind leider nicht so gut, wie sie sein sollten.
Kann mir dabei jemand helfen?
Viele Grüße
Nico
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatische Speicherung von bestimmten Outlook Anhängen
01.04.2020 14:01:31
bestimmten
Hallo Nico,
hier eine Möglichkeit (ungeprüft)
Public Sub Anhaenge_handeln(myItem As Outlook.MailItem)
Dim mAtts As Attachments
Dim mAtt As Attachment
Dim sFile As String
    Set mAtts = myItem.Attachments
    While mAtts.Count > 0
        Set mAtt = mAtts(1)
        sFile = Left$(mAtt.DisplayName, Len(mAtt.DisplayName) - 5) & "aktuell"
        mAtt.SaveAsFile "C:\meinSpeicherort\" & sFile
        mAtts.Remove 1
    Wend
End Sub

Anzeige
AW: Automatische Speicherung von bestimmten Outlook Anhängen
01.04.2020 19:41:50
bestimmten
Hallo volti,
das hängt der Datei leider nur ein "aktuell" hinten an, und löscht nicht die KW Bezeichnung weg. Außerdem wird das Ganze nun nicht mehr als Excel Arbeitsmappe gespeichert...
AW: Automatische Speicherung von bestimmten Outlook Anhängen
01.04.2020 20:13:18
bestimmten
Hallo Nico,
sorry, da fehlte die Behandlung des Suffix (.xls?). Hatte ich vergessen, weil sie in Deiner Vorgabe auch nicht vorkam...
Probier mal, ob's jetzt besser ist.

Public Sub Anhaenge_handeln(myItem As Outlook.MailItem)
 Dim mAtts As Attachments
 Dim mAtt As Attachment
 Dim sFile As String, P As Integer
 Set mAtts = myItem.Attachments
 While mAtts.Count > 0
     Set mAtt = mAtts(1)
     P = InStrRev(mAtt.DisplayName, ".")
     If P > 0 Then
        sFile = Left$(mAtt.DisplayName, P - 6) & "aktuell" & Mid$(mAtt.DisplayName, P)
     End If
     mAtt.SaveAsFile "C:\meinSpeicherort\" & sFile
     mAtts.Remove 1
 Wend
End Sub
viele Grüße
Karl-Heinz

Anzeige
AW: Automatische Speicherung von bestimmten Outlook Anhängen
01.04.2020 20:48:30
bestimmten
Hallo Karl-Heinz,
wow das klappt super, vielen Dank dafür!!!!
Dazu noch eine weiterführende Frage: hast du auch eine Lösung für eingehende Mails, mit mehreren verschiedenen Anhängen, die ich nicht alle brauche?
Also nach dem Motto:
Anhang 1 "DQuote_wochenreport ST 2020 KW 08"
soll an C:\meinSpeicherort\Ordner A\ gespeichert werden
neuer Name: "DQuote_wochenreport ST 2020 aktuell"
Anhang 2 "Auswertungxyz_wochenreport ST 2020 KW 08"
brauche ich nicht, soll nicht gespeichert werden
Anhang 3 "LaufzeitZU_wochenreport ST 2020 KW 08"
soll an C:\meinSpeicherort\Ordner B\ gespeichert werden
neuer Name: "LaufzeitZU_wochenreport ST 2020 KW 08"
Vielen Dank und einen schönen Abend!
Nico
Anzeige
AW: Automatische Speicherung von bestimmten Outlook Anhängen
02.04.2020 01:37:18
bestimmten
Hallo Nico,
schau mal, ob das hier funktioniert...

Public Sub Anhaenge_handeln(myItem As Outlook.MailItem)
 Dim mAtts As Attachments
 Dim mAtt  As Attachment
 Dim sFile As String, P As Integer
 Set mAtts = myItem.Attachments
 While mAtts.Count > 0
   Set mAtt = mAtts(1)
   sFile = mAtt.DisplayName
   If sFile Like "DQuote*" Then
      P = InStrRev(sFile, ".")
      If P > 0 Then
         sFile = Left$(sFile, P - 6) & "aktuell" & Mid$(sFile, P)
      End If
      mAtt.SaveAsFile "C:\meinSpeicherort\Ordner A\" & sFile
   ElseIf sFile Like "Laufzeit*" Then
      mAtt.SaveAsFile "C:\meinSpeicherort\Ordner B\" & sFile
   ElseIf sFile Like "Auswertung*" Then
   End If
   mAtts.Remove 1
 Wend
End Sub
viele Grüße
Karl-Heinz

Anzeige
AW: Crosspost...
01.04.2020 19:35:02
Nico
ich weiß, allerdings konnte mir dort leider keiner helfen...
Anzeige
AW: Crosspost...
02.04.2020 10:53:44
Torsten
Ja aber keiner hier weiss das. Du solltest immer in allen Foren angeben, wo du noch gepostet hast. Vielleicht bekommst du eine Loesung woanders und andere arbeiten hier umsonst.
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18