vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2021
 
zurück
Rubrik: Dateisystem15.05.02
Ein bestimmtes Laufwerk nach einer Datei durchsuchen

VB-Version:  VB5, VB6
 Views:  18.442 

Ein vorgegebenes Laufwerk soll nach einer Datei durchsucht werden. Außerdem soll der Ordner angezeigt werden, der die Datei enthält. Hierfür nehmen Sie am Besten das File-System-Objekt (FSO).

Für unser Beispiel benötigen Sie eine Form mit einem CommandButton (cmdSearch), ein Label-Control (lblPath) und eine ListBox (List1), sowie Unter "Projekt - Verweise" einen Verweis auf die Microsoft Scripting Runtime-DLL. Dann noch folgenden Code:

Option Explicit
 
Dim FSO As FileSystemObject
 
Private Sub cmdSearch_Click()
    Dim sPath As String
    Dim sFileToSearchFor As String
 
    ' Verweis auf FSO-Object
    Set FSO = New FileSystemObject
 
    ' Startverzeichnis
    sPath = "C:\"
 
    ' Datei, nach der gesucht werden soll
    sFileToSearchFor = "test.txt"
 
    ' alle Ordner nach gewünschter Datei durchsuchen
    Screen.MousePointer = vbHourglass
    FSO_SearchFile sPath, sFileToSearchFor
    Screen.MousePointer = vbNormal
End Sub
 
' einzelnen Ordner durchsuchen
Private Sub FSO_SearchFile(ByVal sPath As String, _
    ByVal sFileToSearchFor As String)
 
    Dim Folder As Folder
    Dim SubFolder As Folder
 
    ' Ggfs. abschließenden Backslash anfügen
    If Right$(sPath, 1) << "\" Then sPath = sPath & "\"
    lblPath.Caption = sPath
    DoEvents
 
    Set Folder = FSO.GetFolder(sPath)
    If Dir(sPath & sFileToSearchFor) << "" Then
       ' Datei im Ordner gefunden
       ' --< Pfad in die ListBox eintragen
       List1.AddItem sPath
    End If
 
    ' Ggfs. Fehler "Zugriff verweigert" ignorieren
    On Local Error Resume Next
 
    ' Unterordner
    If Folder.SubFolders.Count < 0 Then
       For Each SubFolder In Folder.SubFolders
         ' Hier wird die Funktion REKURSIV aufgerufen,
         ' um alle weiteren Unterordner des SubFolders
         ' zu ermitteln
         FSO_SearchFile sPath & SubFolder.Name, _
           sFileToSearchFor
       Next
   End If
End Sub

Siehe hierzu auch:
Workshop:  FSO: Arbeiten mit Dateien und Ordner, Teil 1
Workshop:  FSO: Arbeiten mit Dateien und Ordner, Teil 2
Workshop:  FSO: Arbeiten mit Dateien und Ordner, Teil 3

Diese Seite wurde bereits 18.442 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2021 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel