Die Community zu .NET und Classic VB.
Menü

VB 5/6-Tipp 0365: Existiert ein Verzeichnis, mittels FSO

 von 

Beschreibung 

Auch eine Möglichkeit ein Verzeichnis auf Existenz zu prüfen. Hier unter Verwendung des FileSystemObjects (FSO) bewerkstelligt.

Schwierigkeitsgrad:

Schwierigkeitsgrad 1

Verwendete API-Aufrufe:

keine

Download:

Download des Beispielprojektes [2 KB]

'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!

'------------- Anfang Projektdatei Project1.vbp -------------
'--------- Anfang Formular "Form1" alias Form1.frm  ---------
' Steuerelement: Schaltfläche "Command2"
' Steuerelement: Schaltfläche "Command1"


'Autor: Marcus Vogelgesang

Option Explicit

Private Sub Command1_Click()
    Dim aa As String
  
    If ExistFolder(App.Path) Then
      aa = "Das Verzeichnis '" & App.Path & "' existiert!"
    Else
      aa = "Verzeichnis '" & App.Path & "' nicht gefunden!"
    End If
    
    Call MsgBox(aa, vbInformation Or vbOKOnly)
End Sub

Private Sub Command2_Click()
    Dim aa As String, bb As String
    
    bb = "Pfad dens nicht gibt"
    If ExistFolder(bb) Then
      aa = "Das Verzeichnis '" & bb & "' existiert!"
    Else
      aa = "Verzeichnis '" & bb & "' nicht gefunden!"
    End If
    
    Call MsgBox(aa, vbCritical Or vbOKOnly)
End Sub

Private Function ExistFolder(Path As String) As Boolean
    Dim fs As Object
    
    Set fs = CreateObject("Scripting.FileSystemObject")
    ExistFolder = fs.FolderExists(Path)
End Function


'---------- Ende Formular "Form1" alias Form1.frm  ----------
'-------------- Ende Projektdatei Project1.vbp --------------

Tipp-Kompatibilität:

Windows/VB-VersionWin32sWin95Win98WinMEWinNT4Win2000WinXP
VB4
VB5
VB6

Hat dieser Tipp auf Ihrem Betriebsystem und mit Ihrer VB-Version funktioniert?

Ja, funktioniert!

Nein, funktioniert nicht bei mir!

VB-Version:

Windows-Version:

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.

Archivierte Nutzerkommentare 

Klicken Sie diesen Text an, wenn Sie die 2 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.

Kommentar von Dirk Nestl am 22.01.2008 um 21:36

Vielleicht/Wahrscheinlich hab ich was übersehen, aber kann man die Existenz eines Pfades nicht auch einfacher prüfen:

Function PathExists(ByVal Path$) As Boolean

If Not Dir$(Path$,vbDirectory)="" Then
If (GetAttr(Path$) And vbDirectory) = vbDirectory Then PathExists = True
End If

End Function

Kommentar von Uwe Walter am 30.01.2003 um 21:13

Hallo,

der wichtigste Teil funtioniert bei mir zwar, jedoch konnte ich das nicht als Funktion aufrufen. Der Kompiler meldet bei

If ExistFolder(.Text) Then [...]

"Variable anstelle eines Moduls erwartet". Ich habe das dann folgendermaßen gelöst:
Dim ExistFolder As Boolean
With txtFolder
Set fs = CreateObject("Scripting.FileSystemObject")
ExistFolder = fs.FolderExists(.Text)
If ExistFolder Then
frmMain.tvFolderTreeView.SelectedFolder = .Text
[...]
Else
MsgBox "Ordner " + .Text + " nicht gefunden.", vbCritical
.Text = ""
Exit Sub
End If
End With


Als dann, Uwe.