Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1520to1524
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA & Outlook & Anhänge speichern

VBA & Outlook & Anhänge speichern
08.11.2016 09:14:04
Christian
Hallo zusammen,
ich habe eine Excel-Fremde Anfrage/Idee. Eventuell kann mir hier im Forum ja jemand dabei helfen.
Ich bräuchte einen Skript, der mir bei allen eingehenden Emails die Anhänge automatisch abspeichert nach folgenden Kriterien:
Speicherpfad: Fix vorgegeben - c:\Mail_Anlagen
Unterordner: Absender der Email - Max_Mustermann\
Dateiname: Eingangsdatum der Mail + Originaldateiname - 2016.11.08_Musterdatei.xls
Wäre dies möglich/umsetzbar?

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit einem Code in Outlook und einer Regel...
08.11.2016 10:09:20
snb

Sub bijlagen_opslaan()
For Each it In CreateObject("Outlook.application").GetNamespace("MAPI").GetDefaultFolder(6). _
Items
For Each at In it.Attachments
at.SaveAsFile "E:\" & at.FileName
Next
Next
End Sub

AW: Mit einem Code in Outlook und einer Regel...
08.11.2016 10:43:05
Christian
Hallo Case,
danke für die Antwort. Diese Variante hatte ich gesehen. Jedoch werden dabei alle Anlagen in einen Ordner gespeichert. Damit wird dies für meine Zwecke unbrauchbar, weil absolut unübersichtlich.
Es müsste schon mit
Unterordner: Absender der Email - Max_Mustermann\
Dateiname: Eingangsdatum der Mail + Originaldateiname - 2016.11.08_Musterdatei.xls
Und damit habe ich so meine Schwierigkeiten :(
Anzeige
Da muss natürlich...
08.11.2016 14:10:57
Case
Hallo, :-)
... noch angepasst werden. Das Objekt "myItem" hat doch aber alle benötigten Eigenschaften - SenderName, ReceivedTime und viele mehr.
Diese kannst Du nutzen um bei Bedarf den Ordner zu erstellen bzw. den Dateinamen zu bilden. Dafür gibt es im Archiv unzählige Beispiele. ;-)
Servus
Case

AW: VBA & Outlook & Anhänge speichern
08.11.2016 15:20:18
baschti007
Hey Das könntest du so machen
Gruß Basti
Sub Anlagen_Speichern(olMail As MailItem)
'Objekte/Variablen deklarieren
Dim Ziel As String
Dim Anlagen As Attachments
Dim i As Integer
'Speicherordner angeben (bitte mit Backslash abschließen!)
Ziel = "C:\Bastian\Add\"
'Abbruch, wenn Ordner nicht vorhanden
If Dir(Ziel, vbDirectory) = "" Then Exit Sub
'Mailanhänge ermitteln
Set Anlagen = olMail.Attachments
If Anlagen.Count  0 Then
Ziel = Ziel & olMail.Sender & "\"
If Dir(Ziel, vbDirectory)  "" Then
Else
MkDir (Ziel)
End If
'alle Anhänge der Mail durchlaufen und speichern
For i = 1 To Anlagen.Count
'Dateiname zusammensetzen, Datum ist Empfangsdatum der Mail
If Anlagen.Item(i).Type  6 Then
Datei = Ziel & Format(olMail.ReceivedTime, "dd.mm.yyyy") & "_" & Anlagen.Item(i).Filename
'Anlage speichern
Anlagen.Item(i).SaveAsFile Datei
End If
Next i
End If
End Sub
Sub Los()
Dim objNS As Outlook.Namespace
Set objNS = GetNamespace("MAPI")
Set Items = objNS.GetDefaultFolder(olFolderInbox).Items
Dim oFolder As Outlook.MAPIFolder
Dim oMail As Outlook.MailItem
For Each oMail In Items
Call Anlagen_Speichern(oMail)
Next
End Sub

Anzeige
AW: VBA & Outlook & Anhänge speichern
09.11.2016 12:36:44
Christian
Hallo Basti,
Das klappt hervorragend :) Super, ich danke dir.
Gibt es eine Möglichkeit diesen Skript auch auf schon bestehende Mails in unterordnern anzuwenden? Also quasi heute mal alle Mails im Posteingang + Unterordner einmalig durchsuchen und die Anhänge abspeichern?
Vielen vielen Dank für deine Hilfe
AW: VBA & Outlook & Anhänge speichern
09.11.2016 13:39:53
baschti007
Hey Ho dann so
Gruß Basti
Sub Blaaa()
Dim oMail As Outlook.MailItem
Dim objNS As Outlook.Namespace
Set objNS = GetNamespace("MAPI")
Set oFldInbox = objNS.Folders("DeineMail@wasweißich.de").Folders("Posteingang").Folders(" _
Subfolder").Items
For Each oMail In oFldInbox
Debug.Print oMail.Sender
Call Anlagen_Speichern(oMail)
Next
Set objNS = Nothing
Set oFldInbox = Nothing
End Sub

Anzeige
AW: VBA & Outlook & Anhänge speichern
09.11.2016 21:41:43
Christian
Hallo Basti,
Danke für die schnelle Antwort und die Mühen. Leider funktioniert der Code nicht bei mir (Outlook 2010).
Ich habe meine Mail-Adresse natürlich angepasst, bekomme aber einen Laufzeitfehler (Ein Objekt wurde nicht gefunden)
AW: VBA & Outlook & Anhänge speichern
09.11.2016 21:42:31
Christian
Hallo Basti,
Danke für die schnelle Antwort und die Mühen. Leider funktioniert der Code nicht bei mir (Outlook 2010).
Ich habe meine Mail-Adresse natürlich angepasst, bekomme aber einen Laufzeitfehler (Ein Objekt wurde nicht gefunden)
Laut Debugger hier:
Set oFldInbox = objNS.Folders("DeineMail@wasweißich.de").Folders("Posteingang").Folders("Subfolder").Items
Anzeige
AW: VBA & Outlook & Anhänge speichern
09.11.2016 22:05:58
Bastian
Hmm bei mir geht es ich haben 2013 .
Hast du die Verweise auch auf Microsoft outlook 16 objekt library gesetzt ?
Gruß Basti
DeineMail@wasweißich.de ist der Hauptordner wo alle anderen unter ordner drinne sind also wie dein konto bei outlook heißt
AW: VBA & Outlook & Anhänge speichern
09.11.2016 22:22:50
Christian
Hallo Basti,
ich habe nur die Möglichkeit die Verweise auf Microsoft outlook 15 objekt library zu setzen. 16 ist nicht aufgeführt
AW: VBA & Outlook & Anhänge speichern
09.11.2016 22:26:59
Bastian
Ja aber geht es nun ?
Ich denke du hast einen Ordner Falsch gesetzt
Gruß Basti
AW: VBA & Outlook & Anhänge speichern
09.11.2016 22:33:13
Christian
Hallo Basti,
nein es geht nicht.
Set oFldInbox = objNS.Folders("TEST@TEST.DE").Folders("Posteingang").Folders("Subfolder").Items
Der Ordner Posteingang ist ja definiert und die Unterordner über Subfolders sind ebenfalls (wobei mir gerade auffält, dass Subfolders nicht im Kopf definiert wurden - DIM Subfolder ... - oder muss das nicht?)
Bleibt eigentlich nur, dass ich die Mailadresse falsch eingebe. Aber das kann ich mir nicht vorstellen.
Kan ich das nicht auslesen lassen?
Anzeige
AW: VBA & Outlook & Anhänge speichern
09.11.2016 22:50:36
Bastian
Ohh =D
Bei Subfolder musst du den Namen von deinem Unterordner einben =D
Gruß Basti
AW: VBA & Outlook & Anhänge speichern
09.11.2016 23:29:12
Christian
😂 das erklärt natürlich einiges.
Aber dann funktioniert dann aber nur für diesen einen Unterordner, oder?
Ich habe ca 30 Unterordner mit jeweils wieder 5-10 Unterordner.
Muss ich dies alles einzeln definieren?
AW: VBA & Outlook & Anhänge speichern
10.11.2016 06:59:03
baschti007
Na klar geht das =D
Gruß Basti

Sub BlaBlub()
Dim oMail As Outlook.MailItem
Dim it As Long,Ordner1 as long
Dim objNS As Outlook.Namespace
Set objNS = GetNamespace("MAPI")
Set oFldInbox = objNS.Folders("Blaaaa@Blaa.de").Folders("Posteingang")
For Ordner1 = 1 To oFldInbox.Folders.Count
For It = 1 To oFldInbox.Folders(Ordner1).Items.Count
If TypeOf oFldInbox.Folders(Ordner1).Items(It) Is MailItem Then
Set oMail = oFldInbox.Folders(Ordner1).Items(It)
If oMail.Attachments.Count  0 Then
Call Anlagen_Speichern(oMail)
End If
End If
Next It
Next Ordner1
Set objNS = Nothing
Set oFldInbox = Nothing
End Sub

Anzeige

34 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige