Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

VBA-Begriff: Dir-Funktion (Beispiel)

In diesem Beispiel wird die Dir-Funktion verwendet, um das Vorhandensein bestimmter Dateien und Verzeichnisse/Ordner zu überprüfen. Auf dem Macintosh kann über die MacID-Funktion ein Dateityp angegeben werden. Auf dem Macintosh ist der Standardlaufwerkname "HD", und die Bestandteile des Pfadnamens sind durch Doppelpunkte statt umgekehrter Schrägstriche voneinander getrennt. Außerdem werden die Platzhalterzeichen von Microsoft Windows auf dem Macintosh als gültige Dateinamenzeichen angesehen. Sie können allerdings mit Hilfe der MacID-Funktion Dateigruppen angeben.

Dim Datei1, Pfad1 , Name1
' Unter Microsoft Windows:
' Liefert "WIN.INI" (unter Microsoft Windows), falls die Datei existiert.
Datei1 = Dir("C:\WINDOWS\WIN.INI")    

' Liefert einen Dateinamen mit der angegebenen Erweiterung. Existieren
' mehrere Dateien mit der Erweiterung .INI, so wird der erste gefundene
' Dateiname zurückgegeben.
Datei1 = Dir("C:\WINDOWS\*.INI")

' Dir erneut ohne Argumente aufrufen, um die nächste Datei mit der
' Erweiterung .INI im selben Verzeichnis zurückzugeben.
Datei1 = Dir

' Die erste versteckte Datei mit der Erweiterung *.TXT zurückgeben.
Datei1 = Dir("*.TXT", vbHidden)

' Namen in C:\ anzeigen, die Verzeichnisse darstellen.
Pfad1 = "c:\"    ' Pfad setzen.
Name1 = Dir(Pfad1, vbDirectory)    ' Ersten Eintrag abrufen.
Do While Name1 <> ""    ' Schleife beginnen.
    ' Aktuelles und übergeordnetes Verzeichnis ignorieren.
    If Name1 <> "." And Name1 <> ".." Then
        ' Mit bit-weisem Vergleich sicherstellen, daß Name1 ein
        ' Verzeichnis ist.
        If (GetAttr(Pfad1 & Name1) And vbDirectory) = vbDirectory Then
            Debug.Print Name1    ' Eintrag nur anzeigen, wenn es sich
        End If    ' um ein Verzeichnis handelt.
    End If
    Name1 = Dir    ' Nächsten Eintrag abrufen.
Loop

' Auf dem Macintosh.
' Dateityp mit der MacID-Funktion angeben.
' Die folgende Anweisung gibt die erste Datei mit dem Typ "TEXT"
' zurück, die im angegebenen Verzeichnis oder Ordner gefunden wurde. 
Datei1 = Dir("HD:ORDNER1:", MacID("TEXT"))