Liebe Excel-Profis,
ich hoffe Ihr könnt mir helfen.
Ich muss eine Liste von Anschreiben mit Anlagen erstellen (Datenbank ähnlich) und diese dann auch als PDF erzeugen, speichern und gleich auch versenden.
Die Excel besteht also aus 5 Registerblättern:
1. die Liste (Register "Liste")
2. das Anschreiben ("Brief")
3. Anlage 1 ("Vertrag")
4. Anlage 2 ("Belege") und
5. Hilfsseite für den Email-Versand ("Mail")
Das Anschreiben ("Brief") enthält Formeln, die immer die Daten der letzten befüllten Zelle von dem Register "Liste" nehmen. So ist das Anschreiben immer up-to-date zum letzten Eintrag in der Liste.
Dateiname und Pfad habe ich ebenfalls bereits in der Liste mit Formeln definiert und sollen dort entnommen werden. Die Excel-Datei liegt aber woanders, nicht im gleichen Pfad wie die zu erzeugenden PDF's.
Mit Excel-Formel mailto stoße ich mit 255 Zeichen an die Grenze und eine PDF mit Formel anhängen geht auch nicht. Also bleibt nur ein komplexes Makro, das Folgendes machen soll:
1. PDF's bestimmter Register generieren und speichern
Aus den 3 Sheets "Anschreiben", "Vertrag" und "Belege" jeweils eine separate PDF erzeugen und speichern ...
1a) und zwar in dem Pfad, der in der Liste in der letzten Spalte steht. Das Unterverzeichnis entspricht dem gekürzten Firmenname der Liste (Spalte D; gelb markiert). Wenn das Verzeichnis noch nicht existiert, dann soll es erzeugt werden. Dann finde ich nämlich jeden Adressat im Verzeichnis mit eigenem Ordner, und in diesem liegen dann die 3 PDF-Dateien.
1b) Der Dateiname soll ebenfalls aus den Zellen in der Arbeitsmappe entnommen werden: Datum_Firma_Registername.pdf
>> Datum: Datum-Format: YYYY-MM-TT Quelle: Register "Anschreiben" oben rechts
>> Firma: gekürzter Firmenname im Register "Liste", Spalte D
>> Registername: Name des Blattregisters
So sollte das dann idealerweise in meinem Explorer zu finden sein:
Z:\Dateien\Dateien-Privat\Behörden\Lectus\ 2023-05-20_Lectus_Anschreiben.pdf
2023-05-20_Lectus_Vertrag.pdf
2023-05-20_Lectus_Belege.pdf
2. Als Email versenden
Die drei PDFs sollen direkt nach dem Erzeugen auch gleich als Email-Anhang in eine neue Mail (Outlook 2021) eingefügt werden. Adressat, Betreff und Email-Text sind ebenfalls in Zellen - im Register "Email".
Das Trickige an der Sache: das Makro soll immer nur die letzte beschriebene Zeile in der Liste bearbeiten und alles im Hintergrund ausführen (also nicht sichtbar die Tabellenblätter wechseln und Ladebalken anzeigen, das irritiert nur).
Ich bin absoluter Laie in Sachen VBA, aber habe mich fleißig die letzten 2 Wochen durchgefräst und Makros aus dem Netz probiert - aber keines gefunden, was meine Kombination hat. Und Selberbasteln endete in einer Katastrophe von Fehlermeldungen.
Jetzt frage ich hier mal, ob mir Jemand so ein Script in meine Datei basteln kann? Ich habe sie hier, aber der Upload meckert, dass sie zu groß sei (mit 971kb). Die müsste ich dann also per Email oder WeTransfer senden.
Kann mir Jemand von Euch Profis bitte bitte helfen? Mir läuft langsam die Zeit weg ... 2 Wochen Selbstversuche sind schon drauf gegangen.
Danke schon mal im Voraus :-)
Felizia