sk1412
Goto Top

Outlook 2010 - Betreff-Zeile der emails ergänzen mit dem DateiNAMEN der Anlagen

Hallo Admin's ;) ,

folgendes Prob:
Wir versenden viele email an verschiedene Kollegen und hängen eine oder mehrere ! xls-Datei an.
Leider ist in der Vergangenheit die Betreffzeile nur Standardisiert erstellt worden (also überall gleich)
z.B. Prüfung Inhalte der Anlage
Die angehängten XLS-files sind jedoch unterschiedlich
z.B. 01-02-03.xls oder 18-15-13-2015.xls

Ich möchte gern per Makro für alle emails, die sich in einem Ordner befinden,
die Betreffzeile anpassen > ergänzen um den Dateinamen !

Beispiel von oben wäre
Prüfung Inhalte der Anlage 01-02.03.xls
Prüfung Inhalte der Anlage 18-15-13-2015.xls
(das .xls kann auch entfallen)
Sollten mehrere XLS anhängen, sollten auch alle Dateinamen im jeweiligen Betreff eingefügt werden.

Gibt es so eine Möglichkeit per Makro / VBA ?
Bin selber kein VBA-Kenner ;/

Es sind "tausende" von emails in unterschiedlichen Verzeichnissen.
Das Makro sollte also immer nur für das gerade ausgewählte Verzeichnis funzen ;)

Freu mich auf einen Tipp face-smile
Gruß

Stefan

Content-Key: 302807

Url: https://administrator.de/contentid/302807

Printed on: April 20, 2024 at 01:04 o'clock

Mitglied: 114757
Solution 114757 Apr 25, 2016 updated at 13:42:13 (UTC)
Goto Top
Aus der Hüfte geschossen, z.B. so
Sub SubjectChange()
set fso = CreateObject("Scripting.FileSystemObject")  
for each mail in ActiveExplorer.CurrentFolder.Items
   if mail.Class = olMail then
    if mail.attachments.count > 0 then
        for each att in mail.attachments
            On Error Resume Next
            strAttName = fso.GetBasename(att.Filename)
            if Err.Number = 0 then
                mail.Subject = mail.Subject & " " & strAttName  
            End if
        next
        mail.Save
    end if
   end if
Next
End Sub
Gruß jodel32
Member: sk1412
sk1412 Apr 25, 2016 at 13:02:42 (UTC)
Goto Top
Hallo Jodel32
SUPER - funktioniert ;)
Nur bleibt er mit einem Laufzeitfehler '-2147467259 (80004005) Outlook kann diese Aktion nicht für diesen Anlagetyp ausführen
hängen. Beim Debuggen wird
mail.Subject = mail.Subject & " " & fso.GetBasename(att.FileName)
markiert.
Ich bin keine VBA-Erfahrerner ... ich habe einfach ein "on Error Resume Next" eingebaut (dann läuft das Makro durch).

Er bleibt stehen bei einer email mit einer eingebundenen Mail hängen
att = "Picture (Device Independent Bitmap)

Noch ne Idee ?
Gruß
Stefan
Mitglied: 114757
114757 Apr 25, 2016 updated at 13:43:54 (UTC)
Goto Top
Habe den Code noch etwas nachgearbeitet. Bestimmte Attachments haben keinen FileName, das war der Grund.
Member: sk1412
sk1412 Apr 25, 2016 at 13:59:02 (UTC)
Goto Top
Hallo Jodel32
passt soweit sehr gut (eingebettete Bilder sind auch nicht so wichtig ;) )

... DANKE Dir sehr für die schnelle Lösung / Anpassung face-smile))

Jetzt habe ich nur ein Problem:
Ich will diesen Code auch für Verzeichnisse ausführen, die schon älter sind.
Bei uns werden die emails automatisch nach 3 Monaten archiviert.

Das Makro kann so die email nicht mit dem neuen Namen im Enterprice Vault speichern.

Wenn ich die email normal öffnen, kommt ein Dialogfenster, dass ich die archivierte email im Enterprise Vault nicht speichern kann
sondern nur eine Kopie im gleichen Verzeichnis anlegen kann.

Gibt es für die Archivierung-Thematik noch eine Lösung ?
Wenn ich die email manuell abspeichern (mit dem nun neuen Namen), bleibt das email-Datum/Uhrzeit ja gleich.

Können man so etwas im Makro einfügen:
Bei einer geöffneten archivierten Mail und dann > Speichern
wird eine Kopie angelegt.

Freu mich auf einen weiteren Tipp ;)
Gruss
Mitglied: 114757
114757 Apr 25, 2016 updated at 14:19:33 (UTC)
Goto Top
Zitat von @sk1412:
Das Makro kann so die email nicht mit dem neuen Namen im Enterprice Vault speichern.
Gut, Produkt kenne ich leider nicht.
Wenn ich die email normal öffnen, kommt ein Dialogfenster, dass ich die archivierte email im Enterprise Vault nicht speichern kann
sondern nur eine Kopie im gleichen Verzeichnis anlegen kann.
OK
Gibt es für die Archivierung-Thematik noch eine Lösung ?
Kann hier leider ohne das Produkt da zu haben nicht feststellen anhand welcher Property sich identifizieren ließe das es eine schreibgeschützte Mail oder ein Backup-Ordner ist. Da bräuchte ich wesentlich mehr und detailliertere Infos am System selber.
Können man so etwas im Makro einfügen:
Bei einer geöffneten archivierten Mail und dann > Speichern
wird eine Kopie angelegt.
Das kann man machen z.B. eine Mail kopieren und in einen Unterordner vom Posteingang verschieben ...
set destFolder = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Folders("MeinZiel")  
set copy = mail.copy
copy.move  destFolder
Mehr gibts von mir jetzt aber nicht mehr ohne Moos face-wink

Gruß jodel32