Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

File-Directory

Betrifft: File-Directory von: Markus
Geschrieben am: 25.01.2020 16:55:47

Hallo
ich habe ca 500 Dateien (Musikstücke) in einem Verzeichnis.
Der Schlaumeier hat in den Dateinamen leider äöü und Leerschläge verwendet.
z.B. "Sah ein "Knab ein Röslein stehen.mp3".
Nun möchte ich, dass die Datein nachher "sah_ein_knab_ein_roeslin_stehen.mp3" heisst.
Alle Leerschläge mit "_" und gesamter Text in Kleinbuchstaben.
Ist das mit Excel realisierbar?

Danke für eine Hilfe.
Markus

Betrifft: AW: File-Directory
von: Daniel
Geschrieben am: 25.01.2020 17:03:03

Hi
mit den Excel-Tabellenfunktionen nein, aber über VBA-Programmierung ja.
Gruß Daniel

Betrifft: AW: File-Directory
von: Nepumuk
Geschrieben am: 25.01.2020 17:06:54

Hallo Markus,

teste mal:

Option Explicit

Public Sub RepairFilenames()
    
    Const FOLDER_PATH As String = "G:\Eigene Dateien\Eigene Musik\" 'Anpassen !!!
    
    Dim strOldName As String, strNewName As String
    
    strOldName = Dir$(FOLDER_PATH & "*.*")
    
    Do Until strOldName = vbNullString
        
        strNewName = LCase$(strOldName)
        strNewName = Replace$(strNewName, " ", "_")
        strNewName = Replace$(strNewName, "ä", "ae")
        strNewName = Replace$(strNewName, "ö", "oe")
        strNewName = Replace$(strNewName, "ü", "ue")
        strNewName = Replace$(strNewName, "ß", "ss")
        
        Name FOLDER_PATH & strOldName As FOLDER_PATH & strNewName
        
        strOldName = Dir$
        
    Loop
End Sub

Gruß
Nepumuk

Betrifft: AW: File-Directory
von: onur
Geschrieben am: 25.01.2020 17:30:31

Die alten Namen werden in A und die Neuen in B aufgelistet (kannst du auch wegmachen).
Private Sub CommandButton1_Click()
    Dim Dateiname, i, nam, pfad
    pfad = "D:\MP3\" 'Hier Verzeichnis und Datei angeben
    Dateiname = Dir$(pfad)
    Do While Dateiname <> ""
        nam = LCase(Dateiname)
        Cells(i + 1, 1) = nam 'Alter Name in Spalte A
        nam = Replace(nam, "ö", "oe")
        nam = Replace(nam, "ü", "ue")
        nam = Replace(nam, "ä", "ae")
        nam = Replace(nam, " ", "_")
        Cells(i + 1, 2) = nam 'Neuer Name in Spalte B
        Name pfad & Dateiname As pfad & nam
        i = i + 1
        Dateiname = Dir$()
    Loop
End Sub