 
															Im Folgenden ist eine Sammlung von Funktionen zu finden, die ich immer wieder benötige, wenn ich mit Dateien und Ordnern arbeite: aus Dateien lesen, schreiben usw.
Textdateien in Visual Basic
Um eine einzelne Zeile aus einer Textdatei zu lesen kann folgende Funktion benutzt werden:
Public Function ReadLine(ByVal sFile As String, _
  Optional ByVal nLine As Long = 1) As String
  Dim sLines() As String
  Dim oFSO As Object
  Dim oFile As Object
  
  ' Fehlerbehandlung aktivieren
  On Error GoTo ErrHandler
  
  ' Verweis auf das FileSystemObject erstellen
  Set oFSO = CreateObject("Scripting.FileSystemObject")
  
  ' Existiert die Datei überhaupt?
  If oFSO.FileExists(sFile) Then
    ' Datei öffnen
    Set oFile = oFSO.opentextfile(sFile)
    
    ' Alles lesen und in Array zerlegen
    sLines = Split(oFile.ReadAll, vbCrLf)
    
    ' Datei schließen
    oFile.Close
    
    Select Case Sgn(nLine)
       ' (nLine > 0)
      Case 1
        ' n-te Zeile von vorne beginnend
        ReadLine = sLines(nLine - 1)
      
      ' (nLine < 0)
      Case -1
        ' n-te Zeile von hinten beginnend
        ReadLine = sLines(UBound(sLines) + nLine + 1)
    End Select
  End If
  
ErrHandler:
  ' Objekte zerstören
  Set oFile = Nothing
  Set oFSO = Nothing
End FunctionEine Zeite in eine Textdatei schreiben:
Binär-Dateien in Visual Basic
Um eine Binär-Datei auszulesen (also z.B. ein Bild oder eine Anwendungsdatei / .exe usw.) kann dieser Code benutzt werden:
Set fs = CreateObject("Scripting.filesystemobject")
indexfile="textdatei.txt"
fs.createtextfile (indexfile)
Set settings = fs.opentextfile(indexfile, 2, True, 0)
settings.writeline "Zeile schreiben"
settings.ClosePrivate Function ReadFile(ByVal sFilename As String) _
  As String
  Dim F As Integer
  Dim sInhalt As String
 
  ' Prüfen, ob Datei existiert
  If Dir$(sFilename, vbNormal) <> "" Then
    ' Datei im Binärmodus öffnen
    F = FreeFile: Open sFilename For Binary As #F
 
    ' Größe ermitteln und Variable entsprechend
    ' mit Leerzeichen füllen
    sInhalt = Space$(LOF(F))
 
    ' Gesamten Inhalt in einem "Rutsch" einlesen
    Get #F, , sInhalt
 
    ' Datei schliessen
    Close #F
  End If
 
  ReadFile = sInhalt
End Function'read binary file As a string value
Function GetFile(FileName As String) As String
  Dim FileContents() As Byte, FileNumber As Integer
  ReDim FileContents(FileLen(FileName) - 1)
  FileNumber = FreeFile
  Open FileName For Binary As FileNumber
    Get FileNumber, , FileContents
  Close FileNumber
  GetFile = StrConv(FileContents, vbUnicode)
End FunctionSo ermittelt man, ob eine Datei existiert:
Public Function FileExists(ByVal FileName As String) As Boolean
    On Error Resume Next
    FileExists = Not CBool(GetAttr(FileName) And (vbDirectory Or vbVolume))
    On Error GoTo 0
End FunctionOrdner in Visual Basic
Einen Ordner kann man mit folgender Funbktion vollständig löschen:
Public Function KillFolder(ByVal FullPath As String) _
   As Boolean
   
'******************************************
'PURPOSE: DELETES A FOLDER, INCLUDING ALL SUB-
'         DIRECTORIES, FILES, REGARDLESS OF THEIR
'         ATTRIBUTES
'PARAMETER: FullPath = FullPath of Folder to Delete
'RETURNS:   True is successful, false otherwise
'REQUIRES:  'VB6
            'Reference to Microsoft Scripting Runtime
            'Caution in use for obvious reasons
'EXAMPLE:   'KillFolder("D:\MyOldFiles")
'******************************************
On Error Resume Next
'Dim oFso As New Scripting.FileSystemObject
Set oFSO = CreateObject("Scripting.filesystemobject")
'deletefolder method does not like the "\"
'at end of fullpath
If Right(FullPath, 1) = "\" Then FullPath = _
    Left(FullPath, Len(FullPath) - 1)
If oFSO.FolderExists(FullPath) Then
    
    'Setting the 2nd parameter to true
    'forces deletion of read-only files
    oFSO.deletefolder FullPath, True
    
    KillFolder = Err.Number = 0 And _
      oFSO.FolderExists(FullPath) = False
End If
End FunctionSo ermittel man, ob ein Ordner existiert:
Public Function DirExists(ByVal DirectoryName As String) As Boolean
    On Error Resume Next
    DirExists = CBool(GetAttr(DirectoryName) And vbDirectory)
    On Error GoTo 0
End Function