Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
344to348
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
344to348
344to348
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Geänderte Dateinamen aller Art zurückspeichern

Geänderte Dateinamen aller Art zurückspeichern
28.11.2003 17:39:50
Tommy
Hallo liebe Forumer,

ich habe in Spalte A alle Namen aus einem ganz bestimmten Verzeichnis incl. Dateiendung aufgelistet. Nun möchte ich alle Namen Verändern (dies muss manuell in Spalte B geschehen, da keine Einheitliche Veränderung gefunden werden kann) und diese NEUEN Namen aus Spalte B wieder zurückspeichern, so das am Ende die ursprünglichen Dateinamen verändert worden sind. Ein Makro welches ich im Forum-Archiv gefunden habe funktioniert leider nicht.

Hier mein kleines Makro zum einlesen der Dateien:

Public

Sub lesen()
Dim fso As New FileSystemObject
Dim f As Folder
Dim p As File
Dim str As String
Dim aktuell As String
Set f = fso.GetFolder("D:\ALWIN\word")
h = 0
l = 1
Do While h <> 1
If Sheets("Tabelle1").Cells(l, 1) = 0 Then
h = 1
Else
l = l + 1
End If
Loop
leer = l
i = leer
For Each p In f.Files
Sheets("Tabelle1").Cells(i, 1) = p.Name
i = i + 1
2Next
End Sub


Ich hoffe einer von Euch kann mir helfen, mein Latein ist am Ende ;-))
Gruß
Tommy

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Geänderte Dateinamen aller Art zurückspeichern
28.11.2003 17:43:45
Nepumuk
Hallo Tommy,
in welcher Zeile beginnt die Liste? Lass mal ein Beispiel Spalte A - Spalte B sehen.
Gruß
Nepumuk
AW: Geänderte Dateinamen aller Art zurückspeichern
28.11.2003 18:20:52
Tommy
Hallo Nepumuk,

das Einlesen der Dateinamen in der Liste beginnt in Zeile 2 (Zeile 1 ist die Überschrift) und sieht wie folgt aus:

___Spalte A________________________________Spalte B
Z1 Dokumentenname ALT (wird eingelesen)______Dokumentenname NEU
Z2 Wortlisten wlt4 Schulbuch.pdf_______________Wortlisten_wlt4_Schulbuch.pdf
Z3 Kontakte aktuell.xls_______________________Kontakte_aktuell.xls
Z4 Übernahmebestätigung.doc________________uebernahmebestaetigung.doc
Z5 u.s.w

Ich ändere diverse Dateien (z.B. .xls, .doc, .pdf u.s.w) und muss verschiedene Kriterien erfüllen, deshalb manuelles Ändern des Namens.

Ich hoffe Du kannst mir helfen.

Dank vorab Gruß Thomas
Anzeige
AW: Geänderte Dateinamen aller Art zurückspeichern
28.11.2003 18:34:05
Nepumuk
Hallo Tommy,
nur ein Problem. Wo kommen die Dateien her und wo sollen sie gespeichert werden? Die Frage nach einem Beispiel zielte darauf ab, ob da ein Pfad angegeben ist. Oder soll ich das Programm alle Laufwerke durchsuchen lassen? Das könnte aber dann je nach größe und Belegung ganz schön dauern. (Ich habe z.B. 16 Platten mit zusammen 1.300 GB zu rund 60% voll. Wenn ich alle Laufwerke durchsuche dauert es ca. 20 Minuten. [und das pro Dateinamen])
Gruß
Nepumuk
AW: Geänderte Dateinamen aller Art zurückspeichern
28.11.2003 18:42:02
tommy
Hallo Nepumuk,

ich habe Deine Rückfrage wohl vorhin nicht richtig verstanden. Also, es werden immer aus einem ganz bestimmten Verzeichnis (im Makro hinterlegten Pfad) in Spalte A sämtliche Dateien in die Liste eingelesen. Dann wird in der Liste manuell der Dateiname in Spalte B verändert. Jetzt sollen die neuen, in Spalte B erstellten Dateinamen den alten Dateinamen überschreiben (umbenennen). Die Liste fängt in Zeile 2 (A2) an.

Kannst Du damit etwas anfangen.
Gruß
Tommy
Anzeige
AW: Geänderte Dateinamen aller Art zurückspeichern
28.11.2003 18:34:34
tommy
Hallo nepumuk,

hier die Tabelle noch einmal, aber viiiiel besser als vorhin.

https://www.herber.de/bbs/user/2212.htm

Gruß´
Tommy
AW: Geänderte Dateinamen aller Art zurückspeichern
28.11.2003 18:41:47
Nepumuk
Hallo Tommy,
wie ich sehe, machst du aus einem blank im Dateinamen ein underscore. Dazu musst du aber die Dateinamen nicht in eine Mappe schreiben. Das kann anders viel schneller gemacht werden.
Gruß
Nepumuk
AW: Geänderte Dateinamen aller Art zurückspeichern
28.11.2003 18:46:38
tommy
Hallo nepumuk,

nein, nein ich verändere nicht nur blanks, sondern auch Umlaute, Klammern und ähnliches gesocks was in einem klar strukturieten Dateinamnen nicht hineingehört oder aber ich verändere auch hin und wieder die Namen komplett. Das Problem sind hier meine Kinder, die vergeben Namen wie sie gerade wollen (ich ertappe mich aber auch manchmal) und jetzt will und muss ;- )) ich aufräumen auf dem Rechner.
Gruß
Tommy
Anzeige
AW: Geänderte Dateinamen aller Art zurückspeichern
28.11.2003 19:09:40
Nepumuk
Hallo Tommy,
versuch es mal so:


Option Explicit
Public Sub Namen_aendern()
Dim lngZeile As Long, lngIndex As Long, strPfad As String
Dim myFSyObjekt As Object, myFiObjekt As Object
strPfad = "x:/Dein Ordner/Dein Unterordner ...." 'hier bitte den Pfad anpassen
Set myFSyObjekt = CreateObject("Scripting.FileSystemObject")
For lngZeile = 2 To Cells(65536, 1).End(xlUp).Row
Application.StatusBar = "Geändert wird Datei """ & CStr(Cells(lngZeile, 1)) & """ als " & CStr(lngZeile - 1) & ". von " & CStr(Cells(65536, 1).End(xlUp).Row - 1)
With Application.FileSearch
.LookIn = strPfad
.Filename = Cells(lngZeile, 1)
If .Execute = 1 Then
Set myFiObjekt = myFSyObjekt(strPfad & "\" & .FoundFiles(1))
myFiObjekt.Name = Cells(lngZeile, 2)
Else
Application.StatusBar = False
MsgBox "Dateiname """ & CStr(Cells(lngZeile, 1)) & """  nicht oder mehrfach gefunden. Bitte prüfen.", 16, "Warnung"
Exit Sub
End If
End With
Next
Application.StatusBar = False
MsgBox "Fertig.", 64, "Information"
End Sub



Code eingefügt mit: Excel Code Jeanie

Gruß
Nepumuk
Anzeige
AW: Geänderte Dateinamen aller Art zurückspeichern
28.11.2003 19:24:48
Nepumuk
Hallo Tommy,
habe gerade einen Fehler entdeckt. In Foundfiles ist ja der Pfad schon mit drin.

Ändere die Zeile:

Set myFiObjekt = myFSyObjekt(strPfad & "\" & .FoundFiles(1))

so:

Set myFiObjekt = myFSyObjekt.GetFile(.FoundFiles(1))

Gruß
Nepumuk
AW: Geänderte Dateinamen aller Art zurückspeichern
28.11.2003 19:27:30
tommy
Hallo Nepumuk,

du bist ja schon unheimlich mit Deiner Schnelligkeit. Vielen Dank an dieser Stelle für Deine Hilfe. Also, ich habe Dein Makro probiert, erhalte aber folgenden Fehler:

Laufzeitfehler 438
das Programmm verursacht den Fehler in Zeile 13:

Set myFiObjekt = myFSyObjekt(strPfad & "\" & .FoundFiles(1))

Kannst Du damit etwas anfangen?
Gruß
Tommy

P.S. Meine Familie schreit, ich glaube ich muss mal was Essen gehen.
Anzeige
AW: Geänderte Dateinamen aller Art zurückspeichern
28.11.2003 20:23:42
Tommy
Hallo Nepumuk,

vielen tausend Dank, es funktioniert.

Schönes Wochenende
Gruß Tommy

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige