Méthode OpenAsTextStream

Ouvre un fichier spécifié et renvoie un objet TextStream qui peut être utilisé pour lire ce fichier, écrire dedans ou y ajouter des éléments à la fin.

Syntaxe

object.OpenAsTextStream([iomode, [format]])

Arguments :

  • object : requis. Toujours le nom d'un objet File.

  • iomode : facultatif. Indique le mode d'entrée/de sortie. La valeur peut être l'une des trois constantes suivantes : ForReading, ForWriting ou ForAppending.

  • format : facultatif. Indique le format du fichier ouvert. En cas d'omission, le fichier est ouvert au format Unicode par défaut.

    Note:

    L'argument format est passif et conservé pour reproduire le comportement du script VB. Il n'a aucun effet. Tous les fichiers créés sont au format Unicode uniquement.

Paramètres

L'argument iomode peut avoir l'un des paramètres suivants :

Table 11-35 Paramètre de l'argument iomode

Constante Valeur Description
ForReading 1 Permet d'ouvrir un fichier en lecture seule. Vous ne pouvez pas écrire dans ce fichier.
ForWriting 2 Permet d'ouvrir un fichier en écriture.
ForAppending 8 Permet d'ouvrir un fichier et d'écrire à la fin de celui-ci.

Remarques

La méthode OpenAsTextStream fournit les mêmes fonctionnalités que la méthode OpenTextFile de FileSystemObject. Par ailleurs, la méthode OpenAsTextStream peut être utilisée pour écrire dans un fichier.

Les exemples de code suivants illustrent l'utilisation de la méthode OpenAsTextStream :

Exemple 1 :

Function WriteToFile(filepath, text)
    Const ForWriting = 2
    Dim fso, f, ts
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFile(filepath)
    Set ts = f.OpenAsTextStream(ForWriting)
    ts.Writeline text
    ts.Close
End Function

' Usage
WriteToFile "C:\Path\To\Your\File.txt", "This is a test message."

Exemple 2 :

Function AppendToFile(filepath, text)
    Const ForAppending = 8
    Dim fso, f, ts
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFile(filepath)
    Set ts = f.OpenAsTextStream(ForAppending)
    ts.WriteLine text
    ts.Close
End Function

' Usage
AppendToFile "C:\Path\To\Your\File.txt", "This is additional text."

Exemple 3 :

Function WriteUnicodeToFile(filepath, text)
    Const ForWriting = 2
    Const TristateTrue = -1
    Dim fso, f, ts
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFile(filepath)
    Set ts = f.OpenAsTextStream(ForWriting, TristateTrue)
    ts.Writeline text
    ts.Close
End Function

' Usage
WriteUnicodeToFile "C:\Path\To\Your\File.txt", "This is a Unicode test message."

Exemple 4 :

Function ReadFromFile(filepath)
    Const ForReading = 1
    Dim fso, f, ts, content
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFile(filepath)
    Set ts = f.OpenAsTextStream(ForReading)
    Do While Not ts.AtEndOfStream
        content = content & ts.ReadLine
    Loop    
    ts.Close
    ReadFromFile = content
End Function

' Usage
Dim fileContent
fileContent = ReadFromFile("C:\Path\To\Your\File.txt")
'Output: Content of the File