VBS: PDF Formular x-mal in Ordner kopieren und nach Liste umbenennen
Moin
Leider hab ich für folgendes Problem nur einen theoretischen Ansatz:
In einem Ordner "Source" liegt ein einzelnes PDF-Formular.
Dieses Formular wird in einem Ordner analog des jeweils aktuellen Monats, z.b. 10.17., 11.17, usw. x-mal benötigt.
(soweit der Ordner noch nicht existiert soll erangelegt werden)
Die Anzahl der jeweiligen Kopien richtet sich nach einer Textdatei\CSV in der ";"-getrennt bis zu 12 Name stehen.
(z.B. Max M, Lieschen M, Horst V,...)
Am Ende sollen genauso viele Kopien der Einzeldatei aus Source mit den entsprechenden Namen im Monatsordner stehen.
Einige Dinge wie kopieren oder auch Ordner anlegen, ggf. prüfen nach Exist sind mir aus früheren kleinen Scripte klar, hierbei stehe ich allerdings ziemlich im Wald
Ich freu mich über alles was mir an der Stelle weiterhilft und sag schon mal Danke im Voraus
VG, Uwe
Leider hab ich für folgendes Problem nur einen theoretischen Ansatz:
In einem Ordner "Source" liegt ein einzelnes PDF-Formular.
Dieses Formular wird in einem Ordner analog des jeweils aktuellen Monats, z.b. 10.17., 11.17, usw. x-mal benötigt.
(soweit der Ordner noch nicht existiert soll erangelegt werden)
Die Anzahl der jeweiligen Kopien richtet sich nach einer Textdatei\CSV in der ";"-getrennt bis zu 12 Name stehen.
(z.B. Max M, Lieschen M, Horst V,...)
Am Ende sollen genauso viele Kopien der Einzeldatei aus Source mit den entsprechenden Namen im Monatsordner stehen.
Einige Dinge wie kopieren oder auch Ordner anlegen, ggf. prüfen nach Exist sind mir aus früheren kleinen Scripte klar, hierbei stehe ich allerdings ziemlich im Wald
Ich freu mich über alles was mir an der Stelle weiterhilft und sag schon mal Danke im Voraus
VG, Uwe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 351562
Url: https://administrator.de/contentid/351562
Ausgedruckt am: 26.11.2024 um 03:11 Uhr
1 Kommentar
Wenn die CSV so aussieht, (keine Ahnung wie du das meintest (Du schreibst ; getrennt und oben dann mit Komma???)
dann:
Wenn die CSV dagegen so aussieht
dann:
Rechnung kommt dann per Post ...
Name1
Name2
Name3
Name4
Const ROOT = "C:\Ordner"
Const PDF = "D:\vorlage.pdf"
Const CSV = "D:\datei.csv"
Set fso = CreateObject("Scripting.FileSystemObject")
strDate = Right("0" & Month(Date),2) & "." & Right(Year(Date),2)
strFolder = ROOT & "\" & strDate
arrNames = Split(fso.OpenTextFile(CSV,1).ReadAll(),vbNewLine)
If Not fso.FolderExists(strFolder) Then fso.CreateFolder strFolder
For Each name In arrNames
If Trim(name) <> "" Then
strTarget = strFolder & "\" & Trim(name) & ".pdf"
If Not fso.FileExists(strTarget) Then fso.CopyFile PDF,strTarget,False
End If
Next
MsgBox "Fertig"
Name1;Name2;Name3
Const ROOT = "A:\test"
Const PDF = "A:\demo.pdf"
Const CSV = "A:\datei.csv"
Set fso = CreateObject("Scripting.FileSystemObject")
strDate = Right("0" & Month(Date),2) & "." & Right(Year(Date),2)
strFolder = ROOT & "\" & strDate
arrNames = Split(fso.OpenTextFile(CSV,1).ReadAll(),";")
If Not fso.FolderExists(strFolder) Then fso.CreateFolder strFolder
For Each name In arrNames
If Trim(name) <> "" Then
strTarget = strFolder & "\" & Trim(name) & ".pdf"
If Not fso.FileExists(strTarget) Then fso.CopyFile PDF,strTarget,False
End If
Next
MsgBox "Fertig"