Als Antwort auf diesen Beitrag
@snb,
und wenn März gefiltert werden soll?
dann vielleicht so:
Option Explicit
Private Declare PtrSafe Function OemToCharA Lib "user32.dll" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
Private Const Begriff As String = "schu"
Public Function fncFromDuskTillDawn(ByVal strTMP As String) As String
Call OemToCharA(strTMP, strTMP)
fncFromDuskTillDawn = strTMP
End Function
Private Sub DateienLesen()
Dim arr, Pfad$
Pfad = "C:\Users\uwele\Downloads\Bilder Fotograf\Bilder Fotograf"
arr = Filter(Split(fncFromDuskTillDawn(CreateObject("Wscript.Shell").Exec("cmd /c dir """ & Pfad & """ /b").StdOut.ReadAll), vbCrLf), Begriff)
With Tabelle1
.UsedRange.ClearContents
.Cells(1, 1).Resize(UBound(arr) + 1, 1) = Pfad & "\"
.Cells(1, 2).Resize(UBound(arr) + 1, 1) = arr
End With
End Sub
Ich habe eben bemerkt, dass CreateObject("Wscript.Shell").Exec(...) in Win 11 pro ziemlich Anlauf nimmt. Da ist mein ursprünglicher Vorschlag schon längst Bier holen gegangen.
Ich schaue mir heute Abend mal die Sache mit Powershell an. Zum einem gibt es da das Problem mit den Umlauten nicht und ich vermute unter Win11 ist es wohl auch der effizienteste Weg.
Gruß Uwe