Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel VBA Textdateien umbenennen
#1
Hallo liebes Forum,

ich hatte wieder eine tolle Idee doch leider fehlen mir erneut die Befehle/ Kenntnisse um diese zu realisieren. Ich vermute der Code dazu ist ziemlich simpel und kurz.

Folgendes:

Ich habe beispielsweise 5 Teile. Zu jedem Teil gehören 9 Textdateien. Die Dazugehörigkeit identifiziere ich über die Uhrzeit.
Beispiel:
1. Teil wurde um 08:01:45 erstellt. Die 9. Textdatei wurde 5 Sekunden vorher, also um 08:01:40 erstellt.
Die 8. um 08:01:37
Die 7. um 08:01:35
.
.
.
Die 1. um 08:01:15

Jetzt sollen diese 9 Textdateien umbenannt werden.
Aktuell ist ihre Bezeichnung: 20161201_MON_080145.txt
JahrMonatTag_MON_StundeMinuteSekunde.txt

Die Seriennummern stehen bereits in einer Spalte.

Ich habe hier mal eine Beispieldatei hochgeladen.

Also schlussendlich ist mir nur wichtig den Befehl zu kennen, um den Namen einer Textdatei mit Excel VBA umzubenennen.
Daraus kann ich ja eine Schleife basteln die diese Aufgabe für alle Dateien durchführt.


Angehängte Dateien
.xlsm   Testdatei für Forum.xlsm (Größe: 51,11 KB / Downloads: 2)
Antworten Top
#2
Guten Morgen,

ich beziehe mich auf folgende Aussage:

"Also schlussendlich ist mir nur wichtig den Befehl zu kennen, um den Namen einer Textdatei mit Excel VBA umzubenennen.
Daraus kann ich ja eine Schleife basteln die diese Aufgabe für alle Dateien durchführt."

Um dies zu erreichen reicht folgender Befehl:

Code:
Public Sub umbenennen()
Name "C:\test\mappe1.csv" As "C:\test\mappe1.txt"
End Sub
Quelle: http://www.excel-inside.de/vba-loesungen...en-per-vba
Viele Grüße
Micha
_____________________________________________________________________________
Auch meine Zeit ist mir wertvoll. Somit freue ich mich über deine Rückmeldung.

Tagsüber: Win Server 2008 RT | MS Word/Excel/Powerpoint 2010 | Lotus Notes
Abends: Win 10/7 | MS Word/Excel/Powerpoint/Access/Outlook 2007 / 2010 / 2016
Antworten Top
#3
Super danke schon einmal.

Hab noch weiter gegoogelt und habe jetzt einen Code geschrieben der mir meine Textdateien wie gewünscht umbenennt.

Weiß jetzt jemand wie man, Textdateien in Unterordner verschiebt?
Die Textdateien heißen jetzt so:

Seriennummer_xxx_1
Seriennummer_xxx_2
...
Seriennummer_xxx_9

Jetzt habe ich Unterordner, die mit der Seriennummer gekennzeichnet sind. Wie schaffe ich es die 9 Textdateien mit der entsprechenden Seriennummer in die passenden Ordner zu verschieben?


Mfg

Christian
Antworten Top
#4
Moin!
Scripting.FileSystemObject (funktioniert nur auf Windows-Geräten, nicht beim Mac):
http://www.gtkdb.de/index_29_1840.html
Um ein Schleifchen drumherum zu binden, reichen Deine Infos (noch) nicht.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Hi,

es sollen lediglich immer 9 Textdateien in Unterordner (1,2,3,...n) verschoben werden. Das reicht mir.


mfg

Christain
Antworten Top
#6
Zitat:Das reicht mir.

Mir aber nicht.
Wie heißen die Dateien mittlerweile und wo genau liegen sie jetzt?
Dein Code könnte Licht ins Dunkle bringen!
Wie lauten die konkreten Unterverzeichnisse? 1, 2, 3, … ?

Lasse Dir nicht alles aus der Nase ziehen!

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#7
Tongue 
Die Textdateien sind jetz umbenannt in:
1_1
1_2
...
1_9

2_1
2_2
...
2_9
....

Die Ordner sind im Verzeichnis C:\test\
Und die Namen der Ordner sind 1, 2, 3...

Die Textdateien befinden sich wie die Ordner im Verzeichnis C:\test\



Jetzt sollen alle Textdateien die mit 1 beginnen in den Ordner "1"
Also 9 Stück.

Mehr Informationen habe ich nicht, hoffe das reicht dir :19:
Antworten Top
#8
Code:
Sub TextDateienVerschieben()


Dim objFileSystem As Object
Set objFileSystem = WScript.CreateObject("Scripting.FileSystemObject")
Dim AnzahlTeile As String
Dim i As Integer, j As Integer

AnzahlTeile = Tabelle4.Range("H1")

For i = 1 To AnzahlTeile

   For j = 1 To 9
   
       objFileSystem.MoveFile Tabelle2.Range("Ordner") & "\" & i & "_" & j & ".txt", Tabelle2.Range("Ordner") & "\" & i & "\"
   
       Set objFileSystem = Nothing
   
   Next j

Next i

End Sub
Ich melde mich nocheinmal ich habe jetzt an folgendem Code gesessen. Ich habe den Code aus dem Link den du gepostet hast für meine Bedürfnisse angepasst.
In Tabelle2.Range("Ordner") liegt der Quellpfad.
i dient als Laufvariable für die Ordnerzuordnung und j, dafür dass die Dateien 1-9 verschoben werden sollen.
Beim ausführen wird die Zeile " Set objFileSystem = WScript.CreateObject("Scripting.FileSystemObject")  "  gelb markiert und die Fehlermeldung "Laufzeitfehler '424' Objekt erfolderlich" wird ausgegeben. 
Kann mir jemand helfen?
Antworten Top
#9
(01.12.2016, 13:21)xChristianx schrieb:
Code:
Sub TextDateienVerschieben()


Dim objFileSystem As Object
Set objFileSystem = WScript.CreateObject("Scripting.FileSystemObject")
Dim AnzahlTeile As String
Dim i As Integer, j As Integer

AnzahlTeile = Tabelle4.Range("H1")

For i = 1 To AnzahlTeile

   For j = 1 To 9
   
       objFileSystem.MoveFile Tabelle2.Range("Ordner") & "\" & i & "_" & j & ".txt", Tabelle2.Range("Ordner") & "\" & i & "\"
   
       Set objFileSystem = Nothing
   
   Next j

Next i

End Sub
Ich melde mich nocheinmal ich habe jetzt an folgendem Code gesessen. Ich habe den Code aus dem Link den du gepostet hast für meine Bedürfnisse angepasst.
In Tabelle2.Range("Ordner") liegt der Quellpfad.
i dient als Laufvariable für die Ordnerzuordnung und j, dafür dass die Dateien 1-9 verschoben werden sollen.
Beim ausführen wird die Zeile " Set objFileSystem = WScript.CreateObject("Scripting.FileSystemObject")  "  gelb markiert und die Fehlermeldung "Laufzeitfehler '424' Objekt erfolderlich" wird ausgegeben. 
Kann mir jemand helfen?

Natürlich sollte ich vorher WScript entfernen. Sry mit Option Explicit und Sub und Private Sub komm ich noch nicht so klar. :19:

Jetzt funktioniert alles wie es soll
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste