ich habe ein Verzeichnis, das ca. 500 Ordner enthält und habe ein Programm geschrieben, das jeden dieser 500 Unterordner öffnet. Als nächstes möchte ich in jedem dieser Ordner eine ganz bestimmte Datei öffnen, um Informationen einzulesen. Es handelt sich jeweils um die neueste Version einer Excel-Datei. Die Dateinamen weichen voneinander ab und ich frage mich, wie man das im Code umsetzten könnte, damit immer nur die neuste Version geöffnet wird.
Die Dateien heißen folgendermaßen:
Worksheet796258.xls oder
2ndWorksheet796258.xls oder
3rdWorksheet796258.xls
....
oder auch
Worksheet 778412 issue 1.xls
Workssheet 778412 issue 2.xls
...
oder dasselbe als *.xlsm
Fett markiert habe ich jeweils die Datei, die in dem Fall geöffnet warden soll. Je höher die Versionsnummer (issue bzw. 2nd/3rd/...), desto aktueller die Datei. Wird keine Excel-Datei im Ordner gefunden, soll im nächsten Ordner weitergesucht werden.
Das habe ich bisher:
Sub Open_workscope_files()
Dim FileSystem As Object
Dim HostFolder As String
'rootpath containing all DLH folders
HostFolder = "\...\Desktop\Worksheets"
Set FileSystem = CreateObject("Scripting.FileSystemObject")
DoFolder FileSystem.GetFolder(HostFolder)
End Sub
Sub DoFolder(Folder)
Dim SubFolder
For Each SubFolder In Folder.SubFolders
DoFolder SubFolder
MsgBox SubFolder
Next
Dim File
'For Each File In Folder.Files
' Operate on each file
'Next
End Sub
Ich hoffe, ihr könnt mir weiterhelfen!