Verzeichnis- / Datei- Befehle   →   ohne Beispiele
Befehl / Beispiele Beschreibung
<DateiName> = Application.GetOpenFilename(<DK>, <Index>, <Titel>, , <MS>)
<DateiName> = Name der Datei, welche ausgewählt wurde.
<DK>        = Dateikriterium
<Index>     = Welches Dateikriterium soll angezeigt werden
<Titel>     = Fenstertitel
<MS>        = Können mehrere Dateien ausgewählt werden ?
Mittels dieser Option können ein oder mehrere Dateinamen aus einer Dateistruktur ausgewählt werden. Der oder die Dateinamen stehen als Ergebnis samt des Pfadnamen in der Variable <DateiName>
Beispiel 1:   Es kann eine beliebige Datei aus einer Verzeichnis-Struktur gewählt werden.
DK = "Alle Dateien (*.*),*.*"
Titel = "Wähle eine Datei"
DateiName = Application.GetOpenFilename(DK, , Titel)
Beispiel 2:   Es können Word oder Excel-Datei ausgewählt werden ( Voreinstellung ist Excel --> Index = 2 ).
DK = "Word Dateien (*.Doc),*.doc, Excel Dateien (*.xls),*.xls"
Titel = "Wähle eine Datei"
Index = 2
DateiName = Application.GetOpenFilename(DK, Index , Titel)
Beispiel 3:   Es können mehrere Bild-Dateien ausgewählt werden.
Sub MehrereDateienAuswählen()
'+---------------------------------------------------------------------------------+
'|  Es können mehrere Bilder im Format *.jpg oder *.gif ausgewählt werden.         |
'|  Die Mehrfachauswahl erfolgt unter Zuhilfenahme der Strg- oder Shift-Taste      |
'|  Die ausgewählten Bilder werden dann in eine Tabelle ab Position A1 ausgegeben  |
'+---------------------------------------------------------------------------------+
    Dim Dateien As Variant
    Dim DK As String
    Dim Titel As String
    Dim Zeile As Integer

    DK = "Bild-Dateien (*.jpg; *.gif), *.jpg; *.gif"               ' Filefilter
    Titel = "Wähle mehrere Bilder aus"                             ' Wird in der Titelleiste ausgegeben
    Dateien = Application.GetOpenFilename(DK, 1, Titel, , True)    ' Fenster starten
    If IsArray(Dateien) = False Then Exit Sub                      ' Sind Dateien ausgewählt worden ?

    Cells.ClearContents                                            ' Tabellenblatt löschen

    For Zeile = 1 To UBound(Dateien)                               ' Ausgabe der ausgewählten Dateien ab Zelle A1
        Cells(Zeile, 1) = Dateien(Zeile)
    Next Zeile
End Sub
 
<DateiName> = Application.GetSaveAsFilename(<DN>, <FF>, <FI>, <TT>)
<DateiName> = Name der Datei, welche abgespeichert werden soll.
<DN>        = Dateiname, welcher im Dialog erscheinen soll.
<FF>        = Dateikriterium
<FI>        = Welches Dateikriterium soll angezeigt werden ?
<TT>        = Fenstertitel
Zeigt einen Dialog an welcher Stelle einer Verzeichnisstruktur eine Datei abgespeichert werden kann.
Beispiel :   Es sollen Daten in die Datei Text.txt gespeichert werden.
                   Mittels der GetSaveFilename- Funktion soll ein Verzeichnisplatz gesucht werden

DN = "Text.txt"
FF = "Text Datei (*.txt),*.txt"
FI = 1
TT = "Wähle den Speicherort für Deine Datei"

DateiName = Application.GetSaveAsFilename(DN, FF, FI, TT)
ChDir <Verzeichnisname> Wechselt das aktuelle Verzeichnis
Beispiel 1:   Es wird das aktuelle Verzeichnis ausgegeben, danach das aktuelle Verzeichnis gewechselt und anschließend wieder ausgegeben.
MsgBox CurDir    ' gibt das aktuelle Verzeichnis wieder.
ChDir ".."       ' wechselt ( unter Windows ) eine Verzeichnisebene höher.
MsgBox CurDir    ' gibt das aktuelle Verzeichnis wieder.
Beispiel 2:   Wechseln des aktuellen Verzeichnisses.
ChDir "D:\Daten\Word\2010"
Hinweis: Beim Verzeichniswechsel darf sich die Laufwerks-Bezeichnung nicht ändern
ChDrive <Laufwerksbezeichnung>) Laufwerk ändern
Beispiel :   Wechselt das aktuelle Laufwerk.
ChDrive "D:\"
CurDir Gibt das aktuelle Verzeichnis aus
Beispiel :   Gibt das aktuelle Laufwerk aus.
MsgBox CurDir
Dir(<Verzeichnis / Datei-Angabe>), <Datei-Typ>) Verzeichnis / Datei - Überprüfung / Auflistung / Suche
Beispiel 1:   Überprüft, ob eine Datei im angegebenen Verzeichnis vorhanden ist.
Datei = Dir("D:\Daten\Excel\Funktionen.xls", vbNormal)
MsgBox Datei             ' --> "Funktionen.xls"

                         '     Falls die Datei nicht vorhanden ist, wird nichts ausgegeben.
Beispiel 2:   Listet die Dateien eines Verzeichnisses auf.
Sub Aufruf()
    DateienEinesVerzeichnisses "D:\"
End Sub

Sub DateienEinesVerzeichnisses(Verzeichnis)
    Dim Datei As String
    Dim SuchOption As String
    Dim Text As String

    SuchOption = Verzeichnis
    If Right(SuchOption, 1) <> "\" Then SuchOption = SuchOption & "\"
    SuchOption = SuchOption & "*.*"
    Do
      If Datei = "" Then
         Datei = Dir(SuchOption, vbNormal)
      Else
         Datei = Dir()
      End If
      If Datei > "" Then
         If Text > "" Then Text = Text & vbCr
         Text = Text & Datei
      End If
    Loop Until Datei = ""
    MsgBox Text
End Sub
Beispiel 3:   Listet die Unterverzeichnisse eines Verzeichnisses auf.
Sub Aufruf()
    VerzeichnisseEinesVerzeichnisses "D:\"
End Sub

Sub VerzeichnisseEinesVerzeichnisses(Verzeichnis)
    Dim Datei As String
    Dim SuchOption As String
    Dim Text As String

    SuchOption = Verzeichnis
    If Right(SuchOption, 1) <> "\" Then SuchOption = SuchOption & "\"
    SuchOption = SuchOption & "*."
    Do
      If Datei = "" Then
         Datei = Dir(SuchOption, vbDirectory)
      Else
         Datei = Dir()
      End If
      If Datei > "" Then
         If Text > "" Then Text = Text & vbCr
         Text = Text & Datei
      End If
    Loop Until Datei = ""
    MsgBox Text
End Sub
EOF(<Datei-Nummer) Gibt an, wenn das Ende einer Datei erreicht ist.
Beispiel :   Eine Text-Datei wird zeilenweise komplett ausgelesen
Dim ZeilenText As String
Open "D:\Test.Txt" For Input As #1
     While Not EOF(1)
           Line Input #1, ZeilenText
     Wend
Close #1
FileCopy(<Original>, <Kopie> ) Kopiert eine Datei
Beispiel :   Kopiert eine Datei
Datei = "D:\Daten\Excel\Funktionen.xls"

FileCopy Datei, "D:\Testfile.xls"
FileDateTime(<Dateiname>) Gibt das Datum der Dateiänderung wieder.
Beispiel :  
MsgBox FileDateTime("D:\Testfile.xls")    ' --> TT.MM.JJJJ hh:mm:ss
FileLen(<Dateiname>) Gibt die Dateigröße wieder.
Beispiel :  
MsgBox FileLen("D:\Testfile.xls")         ' --> Anzahl der Bytes
Get <Kanalnummer>, [<DateiPosition>], <Variable>
<Kanalnummer>     = Kanalnummer der geöffneten Date ( 1 - 511 )
[<DateiPosition>] = Dateisatzposition ( bei Random-Zugriff )
                    Byteposition      ( bei Binary-Zugriff )
Liest Daten aus einer geöffneten Datei ( Random, Binary )


 
Beispiel 1:   Liest den kompletten Inhalt der Datei Text.txt in die Variable Buffer ein.
Dim Buffer   As String
Open "D:\Test.Txt" For Binary As #1   ' Öffnen der Datei
     Buffer = Space(LOF(1))           ' Größe des Buffers bestimmen
     Get #1, , Buffer                 ' Daten lesen
Close #1                              ' Datei schließen
Beispiel 2:   Liest 100 Zahlen aus einer binären Datei ein.
Dim Nr As Integer
Dim Zahl(1 To 100) As Double
Open "D:\Messung.Txt" For Binary As #1
     For Nr = 1 To 100
         Get #1, , Zahl(Nr)
     Next Nr
Close #1
GetAttr(<Dateiname oder Verzeichnisname>)
Das Ergebnis ist die Summe aus folgenden Werten:
Gibt die Attribute einer Datei wieder.
Beispiel :  
Dim AttrNr As Integer
Dim Datei As String
Dim Text As String

Datei = "C:"

AttrNr = GetAttr(Datei)
Text = "Diese Datei ist:" & vbCr & vbCr
If AttrNr And 1 Then Text = Text & "- ist schreibgeschützt" & vbCr
If AttrNr And 2 Then Text = Text & "- ist versteckt" & vbCr
If AttrNr And 4 Then Text = Text & "- ist eine Systemdatei" & vbCr
If AttrNr And 16 Then Text = Text & "- ist ein Verzeichnis" & vbCr
If AttrNr And 32 Then Text = Text & "- wurde seit der letzten Sicherung geändert" & vbCr
MsgBox Text     
Input #<KanalNummer>, <Wert> Liest Daten aus einer geöffneten Datei ( Sequentiell )

Beispiel :  
Sub TestOutputPrint()
    Dim Datei As String

    Datei = "D:\TestOutput.txt"

    Open Datei For Output As #1
         Print #1, "Test"
         Print #1, "Wort"
         Print #1, 1234
         Print #1, 12.34

         Print #1, "Test";
         Print #1, "Wort";
         Print #1, 1234;
         Print #1, 12.34
    Close #1
    Shell "notepad.exe " & Datei, vbNormalFocus  ' -->
                                                          
End Sub

Kill(<Dateiname> Löscht eine Datei
Beispiel :  
Kill "D:\Messung.Txt"
Line Input #<Kanalnummer>, <Variable> Liest eine Zeile aus einer Datei
Beispiel :  
 
Loc Nummer des letzten Datensatzes ( Random )
Position des letzten gelesenen oder geschriebenen Bytes ( Binary )
Beispiel :  
 
LOF <Kanalnummer> Gibt die Größe einer Datei wieder.
Beispiel :  
      Open "D:\Messung.Txt" For Binary As #22
            MsgBox LOF(22)
      Close #22
MkDir <Verzeichnisname> Erstellt ein Unterverzeichnis
Beispiel :  
      MkDir "D:\Kostenberechnung"
Open <Dateiname> For <Zugriffsmode> As #<Kanalnummer> Schreib- / Lesezugriff auf eine Datei
<Dateiname>    = Datei- inkl. Verzeichnis-Name
<Zugriffsmode> = Input   Eingabe aus einer sequentiellen Datei
                 Output  Ausgabe in eine sequentiellen Datei 
                 Append  Daten an eine sequentiellen Datei anhängen
                 Random  Daten werden Datensatzweise geschrieben / gelesen
                 Binary  Byteweiser Schreib / Lese-Zugriff 
<Kanalnummer>  = Zugriffskanalnummer zu Datei ( 1 - 511 sind möglich )
Beispiel :  
 
Print #<Kanalnummer>, <Varaible> Schreibt Daten in eine geöffnete Datei ( sequentielle )
Beispiel :  
 
Put #<Kanalnummer>, <Varaible> Schreibt Daten in eine geöffnete Datei ( Random, Binary )
Beispiel :  
      Dim Nr As Integer
      Dim Zahl As Double
      Kill "D:\Messung.Txt"
      Open "D:\Messung.Txt" For Binary As #1
            For Nr = 1 To 100
                Zahl = Rnd * 1000
                Put #1, , Zahl
            Next Nr
      Close #1
RmDir (<Verzeichnisname>) Löscht ein Verzeichnis ( wenn es leer ist und nicht schreibgeschützt. )
Beispiel :  
      RmDir "D:\_Dummy"
Seek
Beispiel :  
SetAttr <Dateiname>, <Summme der Datei-Attribute> Setzen von Datei-Attribute
<Datei-Attribute> = vbNormal      0    Normal.
                    vbReadOnly    1    Schreibgeschützt.
                    vbHidden      2    Versteckt.
                    vbSystem      4    Systemdatei.
                    vbArchive    32    Datei wurde seit dem letzten Speichern geändert.
Beispiel :  
      SetAttr "D:\Messung.Txt", vbHidden + vbReadOnly
Write #<Kanalnummer>, Schreibt Daten in eine geöffnete Datei
Beispiel :  
      Dim Datei As String

      Datei = "D:\TestOutput.txt"

      Open Datei For Output As #1
           Write #1, "Test"
           Write #1, "Wort"
           Write #1, 1234
           Write #1, 12.34

           Write #1, "Test";
           Write #1, "Wort";
           Write #1, 1234;
           Write #1, 12.34
      Close
      Shell "notepad.exe " & Datei, vbNormalFocus  -->