Moin zusammen,
kann ich Excel/VBA dazu verwenden in einem Verzeichnis bei allen Dateinamen z.B. _ durch Leerzeichen oder auch anders herum zu ersetzen?
wer kann mir ne HIlfestellung bezgl des MAkros geben?
Danke und Gruß
slam
Moin zusammen,
kann ich Excel/VBA dazu verwenden in einem Verzeichnis bei allen Dateinamen z.B. _ durch Leerzeichen oder auch anders herum zu ersetzen?
wer kann mir ne HIlfestellung bezgl des MAkros geben?
Danke und Gruß
slam
kann ich Excel/VBA dazu verwenden in einem Verzeichnis bei
allen Dateinamen z.B. _ durch Leerzeichen oder auch anders
herum zu ersetzen?
Hi Slam,
üblicherweise macht man das mit FileSearch.
Schau dazu in die Vba-Hilfe sowie zu Excecute, Searchsubfolders.
Da ist Beispielcode.
Kriegste den hingebastelt, sodaß er dir mittels MsgBox nacheinander alle Dateinamen anzeigt?
Ich muß grade mal weg, wenn du es nicht hinkriegst dann melde dich, dann schau ich später mal.
Wenn du XL2007 hast oder bald haben wirst kannste dir das sparen, da gibt es kein FileSearch mehr.
Also, welche XL-Version hast du?
Gruß
Reinhard
kann ich Excel/VBA dazu verwenden in einem Verzeichnis bei
allen Dateinamen z.B. _ durch Leerzeichen oder auch anders
herum zu ersetzen?Hi Slam,
üblicherweise macht man das mit FileSearch.
Schau dazu in die Vba-Hilfe sowie zu Excecute,
Searchsubfolders.
Da ist Beispielcode.
Kriegste den hingebastelt, sodaß er dir mittels MsgBox
nacheinander alle Dateinamen anzeigt?
Ich muß grade mal weg, wenn du es nicht hinkriegst dann melde
dich, dann schau ich später mal.Wenn du XL2007 hast oder bald haben wirst kannste dir das
sparen, da gibt es kein FileSearch mehr.Also, welche XL-Version hast du?
2003, ich probier es mal.
Gruß
slam
Gruß
Reinhard
Moin Reinhard,
auslesen der Dateinamen bekomme ich hin (denke ich zumindest) womit ich ein Problem habe ist das „wegschreiben“.
Wennich die Dateinamen zum Beispiel in ein Tabellenblatt einlesen würde, danach die Zeichen tausche, dann weiss ich nicht wie ich den neuen Dateinamen der richtigen Datei zuordnen soll.
Im Prinzip muss die Änderung ja direkt nachdem auslesen eines Namnes passieren um die Änderung gleich wieder mit der richtigen Datei wegzuschreiben.
Über ein bisschen Hilfe wäre ich dankbar.
Gruß
slam
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Slam,
Kriegste den hingebastelt, sodaß er dir mittels MsgBox
nacheinander alle Dateinamen anzeigt?
auslesen der Dateinamen bekomme ich hin (denke ich zumindest)
womit ich ein Problem habe ist das „wegschreiben“.
Dann hast du doch schon die Hauptsache, umbenennen geht dann mit „Name“-Anmweisung.
Zum Testen kannst du ja die Prozedur Test aufrufen.
in deinem Code der die dateinamen ausgelesen hat, baust du das in die innere Schleife in etwa so ein:
For i = 1 To …
Call Umbenennen(FondFiles(i))
Nexxt i
Sub test()
Call Umbenennen(„c:\test\test2\xyz_abc.xls“)
End Sub
Sub Umbenennen(Pfaddatei As String)
Dim Datei As String, Pfad As String
Pfad = Left(Pfaddatei, InStrRev(Pfaddatei, „“))
Datei = Replace(Replace(Pfaddatei, Pfad, „“), „_“, " ")
Name Pfaddatei As Pfad & Datei
End Sub
Also, welche XL-Version hast du?
Über ein bisschen Hilfe wäre ich dankbar.
Mir reicht schon die Angabe der Versionsnummer
Gruß
Reinhard
Hallo Slam,
Kriegste den hingebastelt, sodaß er dir mittels MsgBox
nacheinander alle Dateinamen anzeigt?auslesen der Dateinamen bekomme ich hin (denke ich zumindest)
womit ich ein Problem habe ist das „wegschreiben“.Dann hast du doch schon die Hauptsache, umbenennen geht dann
mit „Name“-Anmweisung.Zum Testen kannst du ja die Prozedur Test aufrufen.
in deinem Code der die dateinamen ausgelesen hat, baust du das
in die innere Schleife in etwa so ein:For i = 1 To …
Call Umbenennen(FondFiles(i))
Nexxt iSub test()
Call Umbenennen(„c:\test\test2\xyz_abc.xls“)
End SubSub Umbenennen(Pfaddatei As String)
Dim Datei As String, Pfad As String
Pfad = Left(Pfaddatei, InStrRev(Pfaddatei, „“))
Datei = Replace(Replace(Pfaddatei, Pfad, „“), „_“, " ")
Name Pfaddatei As Pfad & Datei
End Sub
Hallo Reinhard
funktioniert im Prinzip, nur bei der Zeile
Name Pfaddatei as Pfad & datei hängt sich das ganze immer auf
Syntax sieht folgendermassen aus ( das schreiben in die Zellen diente nur zur Kontrolle, kann nachher wegfallen
Sub Einlesenundumbenennen()
Dim Pfad As String
Dim Datnam As String
Dim Datnamneu As String
Dim i As Integer
Dim d As Worksheet
Set d = Worksheets(„Dateiname“)
Pfad = „C:\Daten\Excel\test“
Datnam = Dir(Pfad)
i = 1
Do While Datnam „“
d.Cells(i, 1) = Datnam
Pfad = Left(Datnam, InStrRev(Datnam, „“))
Datnamneu = Replace(Replace(Datnam, Pfad, „“), „_“, " ")
Name Datnam As Pfad & Datnamneu
d.Cells(i, 2) = Datnamneu
Datnam = Dir
i = i + 1
Loop
End Sub
wie gesagt, er schreibt in die Zweite Spalte ohne Probleme die geänderten Namen, aber wennich die ’ von der name… Zeile wegnehme, dann hängt sich das ganze immer auf
Also, welche XL-Version hast du?
2003
Über ein bisschen Hilfe wäre ich dankbar.
Mir reicht schon die Angabe der Versionsnummer
Gruß
Reinhard
Gruß
slam
Hallo Slam,
Pfad war leer, da krachte es halt.
Grundsätzlichc hast du mit FileSearch mehr Möglichjeiten als mit Dir.
Nimm mal diesen Code:
Sub Einlesenundumbenennen()
Dim Pfad As String
Dim Datnam As String
Dim Datnamneu As String
Dim i As Integer
Dim d As Worksheet
Set d = Worksheets("Tabelle1")
Pfad = "H:\test\"
Datnam = Dir(Pfad)
i = 1
Do While Datnam ""
d.Cells(i, 1) = Datnam
Datnamneu = Replace(Replace(Datnam, Pfad, ""), "\_", " ")
If Pfad & Datnam Pfad & Datnamneu Then Name Pfad & Datnam As Pfad & Datnamneu
Datnam = Dir
i = i + 1
Loop
End Sub
Gruß
Reinhard