Nur aktuelle und direkte Unterordnen durchsuchen
wolgertal
Hallo Zusammen,
mit folgenden Makro wird eine Prozedur ausgelöst und Daten aus den
1. Aktuellen Verzeichnis und
2. allen Unterverzeichnissen ausgelesen
Ich möchte den Code gerne so ändern, dass
a) weitere Unterverzeichnisse in einem Unterverzeichnis nicht berücksichtigt werden, und
b) nur Unterverzeichnisse berücksichtigt werden, welche mit zwei Buchstaben und Unterstrich beginnen, z.B. "AB_ordner1xxxxx"
Ist dies möglich? Vielen Dank für eure Unterstützung
Gruß Ulli
Option Private Module
Public Sub Aktualisieren_6()
Dim objFileSearch As clsFileSearch, objFileDialog As FileDialog
Dim ialngIndex As Long, lngFileCount As Long, lngColumn As Long
Dim strFolder As String
Dim wks As Worksheet
Set wks = Tabelle8 ' Aktueller Tabellenblattname vor ()
Set objFileDialog = Application.FileDialog(fileDialogType:=msoFileDialogFolderPicker)
Application.ScreenUpdating = False
strFolder = ActiveWorkbook.Path ' sucht direkt im aktuellen Pfad ohne Dialog
If strFolder <> vbNullString Then
Set objFileSearch = New clsFileSearch
With wks
For lngColumn = 1 To 5 'Step 2
Call .Range(.Cells(30, lngColumn), .Cells(.Rows.Count, lngColumn)).ClearContents
Next
End With
With objFileSearch
.CaseSenstiv = False
.Extension = "*.*"
.FolderPath = strFolder
.SubFolders = True
For lngColumn = 2 To 4 Step 2
.NewSearch = True
.SearchLike = Switch(lngColumn = 2, wks.Range("I1"), lngColumn = 4, wks.Range("J1")) & "*"
lngFileCount = .Execute(Sort_by_Name, Sort_Order_Ascending)
For ialngIndex = 1 To lngFileCount
Call wks.Hyperlinks.Add(Anchor:=wks.Cells(ialngIndex + 29, lngColumn), _
Address:=.Files(ialngIndex).Path, TextToDisplay:=.Files(ialngIndex).Filename)
wks.Cells(ialngIndex + 29, 1) = ialngIndex
wks.Cells(ialngIndex + 29, lngColumn + 1) = .Files(ialngIndex).LastModify
Next
Next
End With
Set objFileSearch = Nothing
End If
End Sub