Ich verwende eine Batch-Datei mit folgender Zeile drin:
dir /b /n /s > Alle.xls
Ob das über 255 funktioniert, weiß ich nicht. hab keine so langen Pfade hier.
Danach musst du aber noch folgendes Makro drüberrumpeln lassen, weil die Umlaute usw. nicht richtig dargestellt werden.
Sub ÄÖÜ_bat()
' Umlaute ersetzen und Zeichen normalisieren wenn Liste der Dateien per bat ausgelesen wird
' dir /b > liste.txt
' oder
' dir /b /n /s > Alle.xls
ActiveCell.EntireColumn.Select
Selection.Replace What:="", Replacement:="Ä", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="", Replacement:="Ö", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="", Replacement:="Ü", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="", Replacement:="ä", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="", Replacement:="ö", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="³", Replacement:="ü", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True ' das passt nicht
' ü geht nicht direkt, weil in Batch als "keinZeichen" Chr(129) oder Chr(252) = ³
Selection.Replace What:=Chr(129), Replacement:="ü", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
' das mit ü muss geprüft werden
Selection.Replace What:="á", Replacement:="ß", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="", Replacement:="é", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="", Replacement:="è", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="£", Replacement:="ú", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="ø", Replacement:="°", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="¤", Replacement:="ñ", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="", Replacement:="ç", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="¢", Replacement:="ó", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="¡", Replacement:="í", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="x", Replacement:="x", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="x", Replacement:="x", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="x", Replacement:="x", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="x", Replacement:="x", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="x", Replacement:="x", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="ý", Replacement:="²", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
Selection.Replace What:="¨", Replacement:="¿", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True
End Sub
Hab ich schon lange nicht mehr verwendet und nur lose geprüft, soweit es meinen Anforderungen (deutsche Zeichen) entsprochen hat. Siehe Kommentare.