ich hoffe Ihr könnt mit helfen: Ich habe ein Makro, welches alle XLS Dateien innerhalb eines Ordners in XLSX Dateien umwandelt und anschließend die XLS Dateien löscht.
Nun möchte ich dieses Makro insoweit abändern, dass auch alle Unterordner miteinbezogen werden, so dass ich innerhalb eines jeden Ordners nur noch XLSX Dateien am Ende habe.
vielen Dank für euren Input.
Sub XLSInXLSxUmwandeln()
Dim oSourceBook As Object
Dim spfad As String
Dim sDatei As String
Application.ScreenUpdating = False 'Das "Flackern" ausstellen
'Schritt 1: Schleife über alle Word Dateien in einem Verzeichnis
spfad = "W:\Faktura\Test\XLSinXLSxumwandeln\*"
sDatei = Dir(CStr(spfad & "*.xls")) 'Alle *.xls Dateien
Do While sDatei ""
'Schritt 2: öffnen der Datei und Datenübertragung
Set oSourceBook = Workbook.Open(spfad & sDatei, False, True) 'nur lesend öffnen
'Schritt 3: Datei speichern und wieder zu machen und nächste Schleifenrunde
Application.DisplayAlerts = False
'Speichern im DOCX Format
oSourceBook.SaveAs FileName:=CStr(spfad & sDatei & "x"), FileFormat:=xlsOpenXMLWorkbook
oSourceBook.Close False
Application.DisplayAlerts = True
'Nächste Datei
sDatei = Dir()
Loop
Application.ScreenUpdating = True 'Das Bildschirm-Aktualisieren wieder einschalten
'Variablen aufräumen
Set oSourceBook = Nothing
End Sub
Private Sub KillEmAll()
'löscht alle .doc im Verzeichnis
Const spfad As String = "W:\Faktura\Test\XLSinXLSxumwandeln\*"
Kill spfad & "*.xls"
End Sub