Gruppe
Datei
Problem
Wie kann ich alle Excel-Dateien des aktuellen Verzeichnisses einschliesslich aller Unterverzeichnisse in ein Tabellenblatt einlesen lassen?
StandardModule: basMain
Public Const PROCESS_QUERY_INFORMATION = &H400
Public Const WAIT_TIMEOUT = &H102&
Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, _
ByVal dwMilliseconds As Long) As Long
Sub DOSShell()
Dim sFile As String, sPath As String
sPath = Range("B1").Value
sFile = Application.DefaultFilePath & "\dirlist.txt"
WartenBisFertig ("command.com /c dir/s/b " & sPath & "\*.xls >" & sFile)
Workbooks.Open sFile
Columns.AutoFit
End Sub
Sub WartenBisFertig(strEXE As String)
Dim ProcessID As Long
Dim hProcess As Long
Dim RetVal As Long
ProcessID = Shell(strEXE, vbHide)
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, ProcessID)
Do
DoEvents
RetVal = WaitForSingleObject(hProcess, 50)
Loop Until RetVal <> WAIT_TIMEOUT
End Sub