Registriert seit: 05.03.2021
Version(en): 2007/2013
Hallo liebes Forum!
Hoffe es geht euch allen gut!
Ich habe eine Datei dateiX.html in einem Ordner
Von dieser Datei möchte ich 1369 individuelle Kopien in diesem (oder einem anderen ) Ordner erzeugen und jeweils das X ersetzen
Die hinzuzufügenden Dateinamen stehen dabei in Spalte A:
ABC50A01
ABC50A02
...
ABC50A50
ABC50B01
...
ABC50B50
ABC50C01
usw.
...so das die Dateinamen dann so aussehen:
dateiABC50A01.html
dateiABC50A02.html
...
dateiABC50A50.html
dateiABC50B01.html
...
dateiABC50B50.html
dateiABC50C01.html
usw.
Hat eine(r) von euch eine Idee dazu?
Danke und lieben Gruss
Michael
00202
Nicht registrierter Gast
Hallo,
hier jetzt nur bis
"dateiABC50Z50.html" (1300):
Code:
Option Explicit
Public Sub Main()
Dim objFSO As Object
Dim lngTMP As Long
Set objFSO = CreateObject("Scripting.FileSystemObject")
For lngTMP = 1 To 1300
objFSO.CopyFile "C:\Temp\HTML\dateiX.html", "C:\Temp\HTML_Kopie\" & Replace("dateiX.html", "X.html", "") & Tabelle1.Cells(lngTMP, 1) & ".html"
Next lngTMP
Set objFSO = Nothing
End Sub
Du musst also die
Schleife, den
Quellpfad und den
Zielpfad anpassen.
Registriert seit: 05.03.2021
Version(en): 2007/2013
27.08.2021, 16:03
(Dieser Beitrag wurde zuletzt bearbeitet: 27.08.2021, 16:21 von MichaelH.)
Hi Case!
Vielen Dank für die schnelle Umsetzung!
Klappt grundsätzlich, nur Generierter Dateiname und Zielpfad klappt (bei mir) noch nicht so ganz.
Zielpfad
Das ist doch der Quellpfad: C:\Temp\HTML\dateiX.html, da liegt die zu kopierende Datei richtig?
Und das ist doch der Zielpfad: C:\Temp\HTML_Kopie\, da werden die kopierten Dateien reingeschrieben richtig?
Dateiname
Am Anfang von jedem Dateinamen steht copy, also statt
dateiABC50A01.html
copydateiABC50A01.html
Kann man das copy irgendwie vermeiden?
Danke und Gruss
Michael
00202
Nicht registrierter Gast
Hallo,
wie heißt denn deine Datei? "
copydateiX.html"? Oder wo kommt das
copy her?
Registriert seit: 05.03.2021
Version(en): 2007/2013
Hi Case!
Also Quell- und Zielpfad sind richtig?
Ich vermute mal das vorgestellte "copy" kommt daher, weil ich es leider nicht geschafft habe Deinen Code in ein nagelneue Datei einzufügen.
Dann habe ich eine andere Makrodatei überschrieben und das ist das Ergebnis.
Könntest Du mir bitte Deinen Code in einer Exceldatei schicken, dann finde ich eventuell den Fehler?
Das wäre super
Danke
Michael
00202
Nicht registrierter Gast
Hallo,
hier meine
Beispieldatei:
[attachment=39972]
Da sind jetzt beide Codes drin. Für den Fall, dass die Datei "
dateiX.html" oder "
copydateiX.html" heisst.
Bei der Auswahl der Namen in Spalte A arbeite ich mit dem
Codenamen der Tabelle -
Tabelle1.Cells(lngTMP, 1).
Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:1 Nutzer sagt Danke an Gast für diesen Beitrag 28
• MichaelH
Registriert seit: 05.03.2021
Version(en): 2007/2013
Hi Case!
Alles prima jetzt!
Vielen herzlichen Dank!
Gruss
Michael
Registriert seit: 29.09.2015
Version(en): 2030,5
Code:
Sub M_snb()
sn=cells(1).currentregion.columns(1)
for j=1 to Ubound(sn)
Filecopy "C:\Temp\HTML\dateiX.html",replace("C:\Temp\HTML\dateiX.html","X",sn(j,1))
Next
End Sub
Registriert seit: 05.03.2021
Version(en): 2007/2013
Hi snb!
Wenn ich Deinen Code so übernehme, kommt die Meldung:
Fehler beim Kompilieren:
Variable nicht definiert
Gruss
Michael
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
das sind Grundlagen beim Programmieren.
Es gibt die Einstellung, dass man Variablen deklarieren muss - "Option Explicit" erscheint damit automatisch in jedem neuen Codemodul.
Im Code sind 2 Variablen, die dementsprechend deklariert werden müssen. sn ist ein Range und für j kann man Long nehmen.
Dim sn as Range, j as Long
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)