Anhänge aus Oulook speichern mit VBA macht Probleme - Druckversion +- Office-Fragen.de (https://office-fragen.de) +-- Forum: Microsoft Office (https://office-fragen.de/forum-1.html) +--- Forum: Excel (https://office-fragen.de/forum-2.html) +--- Thema: Anhänge aus Oulook speichern mit VBA macht Probleme (/thread-27165.html) |
Anhänge aus Oulook speichern mit VBA macht Probleme - Klaus_jürgen - 11.03.2022 Guten Morgen, Ich habe die Aufgabe bekommen ein Skript zu erstellen dass Anhänge aus einem Postfach in Outlook in einen Ordner kopiert und diese einen neuen Namen gibt. Welchen Namen die Datei bekommt wäre nicht wichtig, es muss nur ein neuer Name vergeben werden da die Datei die per Mail kommt immer den gleichen Namen hat. Ein funktionierendes Skript dass die Anhänge speichert habe ich schon, nur wenn ich versuche dass nur .pdf dateien geladen werden sollen funktioniert es nicht mehr. Oder anderesherum, ich habe mit viel Googeln und rumprobieren ein Skript dass nur .pdf Dateien lädt, aber der Name wird nicht wie gewünscht geändert. Hier das Skript dass alle Anhänge holt und den namen anpasst: Public Sub saveAttachtoDisk(itm As Outlook.MailItem) Dim objAtt As Outlook.Attachment Dim saveFolder As String saveFolder = "C:\Users\USER\Documents\Anhange\" Dim dateFormat As String dateFormat = Format(itm.ReceivedTime, "yyyy-mm-dd Hmm ") For Each objAtt In itm.Attachments objAtt.SaveAsFile saveFolder & "\" & dateFormat & objAtt.DisplayName Next End Sub Und hier welches nur .pdf holt. 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 "*.pdf" Then P = InStrRev(sFile, ".") mAtt.SaveAsFile "C:\Users\USER\Documents\Anhange\" & Format$(Date, "yyyymmdd hhmmss") & mAtts.Count & sFile ElseIf sFile Like "Auswertung*" Then End If mAtts.Remove 1 Wend End Sub Es wird zwar auch ein neuer Name erzeugt, aber nur mit dem aktuellen Datum, nicht z.B. dem Eingangsdatum der Mail. Wisst ihr wie das erste Skript dazu bekomme einfach nur .pdf Dateien zu sichern und dann das Eingangsdatum als Name der Datei anzugeben? Es gibt dann noch das Problem dass das Skript dann zwar bei mir in einer Regel funktioniert, aber nicht beim User der es nutzen müsste, aber das könnte ich hinbekommen. Habt ihr einen Tip? Danke RE: Anhänge aus Oulook speichern mit VBA macht Probleme - maninweb - 11.03.2022 Hallo, ungetestet, versuche mal statt Format$(Date, "yyyymmdd hhmmss") dann Format$(myItem.ReceivedTime, "yyyymmdd hhmmss") Gruß RE: Anhänge aus Oulook speichern mit VBA macht Probleme - Klaus_jürgen - 11.03.2022 Könnt so einfach sein... Danke, hat funktioniert. Meistens, wenn ich irgendwas geändert habe hat das Skript einfach garnichts mehr gemacht und ich war schon am verzweifeln... jetzt gehts. Wenn ich es jetzt noch beim User zum laufen bekomm bin ich glücklich. danke !EDIT!: Es klappt beim User im normalen Postfach, nicht allerdings in der Gruppenmailbox. Wir bekommen von unserem Kunden Rechnungen in eine Gruppenpostfach und da müsste das Skript funktionieren, es passiert aber nichts. keine .pdf wird gespeichert. Ist die Mail allerdings im Postfach vom User selbst klappt es ohne Probleme. Dazu noch eine Idee? RE: Anhänge aus Oulook speichern mit VBA macht Probleme - maninweb - 12.03.2022 Hallo, Outlook VBA ist nicht meine Welt. Du müsstest aber in Deinem Code einen Aufbau einer Session zu Outlook haben. Dort müstse man auf die entsprechende Objekte zugreifen können. Beispielhaft hier. Gruß RE: Anhänge aus Oulook speichern mit VBA macht Probleme - Klaus_jürgen - 15.03.2022 Hallo, Ich habe es jetzt damit gelöst über eine Regel alle Mails ins Postfach zu kopieren und da dann das Skript auszuführen. Leider nimmt das Skript nicht alle Mails mit, sonder nur ca. 70%. Der rest wird nicht exportiert. Naja, zumindest gehts weiter. Grüße |