Rubrik: Dateisystem · Dateien lesen/schreiben | VB-Versionen: VB6 | 29.05.09 |
Erstellen einer Datei mittels FSO Hier wird gezeigt, wie man mittels dem FileSystemObject (kurz FSO) Dateien erstellen oder auch neue Inhalte an bestehenden Dateien anfügen kann. | ||
Autor: Heiko Jendreck | Bewertung: | Views: 58.935 |
www.phw-jendreck.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Hier wird gezeigt, wie man mittels dem FileSystemObject (kurz FSO) Dateien erstellen oder auch neue Inhalte an bestehenden Dateien anfügen kann.
' ***************************************************** Dim Folderpath As String Dim Filename As String ' Hier bitte den Pfad angeben Folderpath = "D:\" ' Welchen Namen bekommt unsere Datei Filename = Folderpath & date & "_log.txt" ' *****************************************************
' ***************************************************** Dim Line As String ' An dieser Stelle wird der Inhalt der Datei angegeben Line = "Hier wird der Inhalt der Datei definiert" ' *****************************************************
' ***************************************************** Dim IOMode As Long ' An dieser Stelle können Sie bestimmen, ob der Inhalt ' 1 = gelesen wird ' 2 = beschrieben wird ' 8 = angehängt wird IOMode = 8 ' *****************************************************
' ***************************************************** Dim Create As Boolean ' An dieser Stelle wird bestimmt, ob eine Datei ' erzeugt werden soll, wenn diese noch nicht existiert Create = True ' *****************************************************
' ***************************************************** Dim Format As Long ' An dieser Stelle bestimmen Sie das Format der Datei ' 0 = ASCII (Standardwert) ' -1 = Unicode Format = 0 ' *****************************************************
' ***************************************************** Dim FSO As Object Dim TextLog As Object ' Nun bauen wir das Ganze zusammen Set FSO = CreateObject("Scripting.FileSystemObject") Set TextLog = FSO.OpenTextFile(FileName, IOMode, Create, Format) ' Und übergeben den Inhalt TextLog.WriteLine (Line) ' *****************************************************
' ***************************************************** ' Wir verlassen unser Script sauber TextLog.Close Set TextLog = nothing Set FSO = nothing ' *****************************************************
Das Ganze lässt sich auch schön in eine allgemeine Prozedur verpacken.
Nachfolgenden Code am besten in ein Modul setzen.
Option Explicit Public Enum FSO_IOMode ModeRead = 1 ModeWrite = 2 ModeAppend = 8 End Enum Public Enum FSO_Format FormatAscii = 0 FormatUnicode = -1 End Enum
Public Function FSO_WriteLine(ByVal sFilename As String, _ ByVal sLine As String, _ Optional ByVal nMode As FSO_IOMode = ModeAppend, _ Optional ByVal nFormat As FSO_Format = FormatAscii, _ Optional ByVal bCreateIfNotExists As Boolean = True) As Boolean ' Fehlerbehandlung aktivieren On Error GoTo ErrHandler Dim bSuccess As Boolean Dim oFSO As Object Dim oFile As Object ' Objekte erstellen Set oFSO = CreateObject("Scripting.FileSystemObject") Set oFile = oFSO.OpenTextFile(sFilename, nMode, bCreateIfNotExists, nFormat) ' Inhalt schreiben oFile.WriteLine sLine bSuccess = True ErrEnd: On Error Resume Next oFile.Close Set oFile = Nothing Set oFSO = Nothing On Error GoTo 0 FSO_WriteLine = bSuccess Exit Function ErrHandler: Resume ErrEnd End Function
Aufrufbeispiel:
FSO_WriteLine "d:\log.txt", "Inhalt"