VBA Automatisierung
Hallo Community, freut mich euch beigetreten zu sein.
Ich werde auf folgendes Problem in allen großen Sprachen im WWW leider nicht fündig. (Das die Lösung existiert weiß ich, ich find sie bloß nicht
)
Ich habe mir einen Automatismus zusammengebastelt, welcher aus einem Datensatz ein fertiges Dokument ausgibt.
Quasi sowas wie die Serienbrieffunktion in Office, lediglich ein wenig spezifischer.
Wenn das Dokument also fertig ist, soll es bestmöglich per Mausklick gespeichert werden. Soweit so gut.
Jetzt kommt das Problem auf, dass die zu speichernde Datei einen konkreten Namen haben muss.
Und zwar: 180326/1 (JJMMTT/fortlaufende Nummer)
das nächste Dokument soll jedoch die fortl. Nummer 2 haben, usw.
Wenn also ein neuer Datensatz eingeht, soll das automatisch erstellte Dokument auch automatisch gespeichert werden undzwar mit der korrekten Bezeichnung: JJMMTT/fortl.Nr./Name.
Der Name ist im Dokument selber zu finden.
Wie kann ich das mit VBA realisieren?
Ein herzliches Dank im Vorraus!
Und freut mich dazugestoßen zu sein
Ich werde auf folgendes Problem in allen großen Sprachen im WWW leider nicht fündig. (Das die Lösung existiert weiß ich, ich find sie bloß nicht
Ich habe mir einen Automatismus zusammengebastelt, welcher aus einem Datensatz ein fertiges Dokument ausgibt.
Quasi sowas wie die Serienbrieffunktion in Office, lediglich ein wenig spezifischer.
Wenn das Dokument also fertig ist, soll es bestmöglich per Mausklick gespeichert werden. Soweit so gut.
Jetzt kommt das Problem auf, dass die zu speichernde Datei einen konkreten Namen haben muss.
Und zwar: 180326/1 (JJMMTT/fortlaufende Nummer)
das nächste Dokument soll jedoch die fortl. Nummer 2 haben, usw.
Wenn also ein neuer Datensatz eingeht, soll das automatisch erstellte Dokument auch automatisch gespeichert werden undzwar mit der korrekten Bezeichnung: JJMMTT/fortl.Nr./Name.
Der Name ist im Dokument selber zu finden.
Wie kann ich das mit VBA realisieren?
Ein herzliches Dank im Vorraus!
Und freut mich dazugestoßen zu sein
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 369277
Url: https://administrator.de/forum/vba-automatisierung-369277.html
Ausgedruckt am: 27.04.2025 um 09:04 Uhr
3 Kommentare
Neuester Kommentar
Hi,
also "/" im Namen kannst Du schon mal vergessen. Es sei denn, Du meinst hier Ordner und "JJMMTT" sowie "fortl.Nr." sind jeweils Verzeichnisnamen.
Falls ja: Das würde bedeuten, dass Du je Datei einen eigenen Ordner "fortl.Nr." erstellen willst? Falls nein, dann musst Du Dir ein anderes Trennzeichen suchen, z.B. "_".
Ansonsten einfach den Ordner einlesen, alle vorhandenen Dateien auflisten. Die höchste Nummer feststellen und dann um eins erhöhen.
Durch die Dateien hangeln kannst Du Dich z.B. mit "Dir"
Es geht sicher auch anders, z.B. mit Scripting.FileSystemObject.
E.
also "/" im Namen kannst Du schon mal vergessen. Es sei denn, Du meinst hier Ordner und "JJMMTT" sowie "fortl.Nr." sind jeweils Verzeichnisnamen.
Falls ja: Das würde bedeuten, dass Du je Datei einen eigenen Ordner "fortl.Nr." erstellen willst? Falls nein, dann musst Du Dir ein anderes Trennzeichen suchen, z.B. "_".
Ansonsten einfach den Ordner einlesen, alle vorhandenen Dateien auflisten. Die höchste Nummer feststellen und dann um eins erhöhen.
Durch die Dateien hangeln kannst Du Dich z.B. mit "Dir"
DirectoryPath = "..........."
NextFileName = Dir(DirectoryPath & "\*.irgendwas") ----> *.doc oder *.docx oder *.xlsx oder was auch immer Dein Dokumenttyp ist.
Do While Len(NextFileName ) > 0
.... irgendwas machen --> Name auswerten
NextFileName = Dir
Loop
Es geht sicher auch anders, z.B. mit Scripting.FileSystemObject.
E.