Dateianzahl im Verzeichnis mit Kriterium bestimmen
#1
Hallo liebe Leute,
Mit folgendem Programmcode lässt sich die Anzahl der Dateien im Verzeichnis Test auslesen und bestimmen:

Sub Dateianzahl()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
MsgBox fso.GetFolder("C:\Test").Files.Count
Set fso = Nothing
End Sub

Ich suche nun nach einer Möglichkeit nur Dateien zu zählen, die
in ihrem Namen ein bestimmtes Merkmal enthalten, also z.B. die ein XYZ in ihrem Namen
enthalten. Hat jemand von euch eine Idee wie so etwas gehen könnte?
Top
#2
Hallo Kathrin,

mit der klassischen Dir-Funktion z.B. so:

Code:
Sub Dateianzahl()
  Dim lngZ As Long
  Dim strErgebnis As String
  Dim strPfad As String
  Dim strSuche As String
  
  strPfad = "C:\test\"
  strSuche = "*xyz*"
  
  strErgebnis = Dir(strPfad & strSuche)
  Do While strErgebnis <> ""
    lngZ = lngZ + 1
    strErgebnis = Dir
  Loop
  
  MsgBox lngZ
End Sub

Gruß Uwe
Top
#3
Hallo Kathrin,

da wirst Du wohl oder übel eine Schleife über die enthaltenen Dateien legen müssen und einen Counter hochzählen ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#4
Hallo Kathrin,

geht natürlich auch mit der von Dir begonnenen Verwendung des fso Smile

Code:
Sub CountMP3()
'Verweis auf Windows Script Host Object Model setzen!
Dim fso As Object
Dim objFolder As Folder
Dim objFile As File
Set fso = CreateObject("Scripting.FileSystemObject")
Set objFolder = fso.GetFolder("D:\Test")
For Each objFile In objFolder.Files
  If LCase$(fso.GetExtensionName(objFile)) = "mp3" Then iCnt = iCnt + 1
Next
MsgBox iCnt & " mp3-Dateien gefunden!"
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste