Apre un file specificato e restituisce un oggetto TextStream che può essere utilizzato per eseguire operazioni di lettura, scrittura o aggiunta a livello di file.
Sintassi
object.OpenAsTextStream([iomode, [format]])
Argomenti:
Object: obbligatorio. Sempre il nome dell'oggetto File.
Iomode: facoltativo. Indica la modalità di input/output. Può essere una delle seguenti tre costanti: ForReading, ForWriting o ForAppending.
Format: facoltativo. Indica il formato del file aperto. Se omesso, il file viene aperto come Unicode per impostazione predefinita.
Note:
L'argomento format è inattivo e viene mantenuto per simulare il comportamento di VBScript. Non ha alcun effetto. Tutti i file creati vengono creati solo in formato Unicode.
Impostazioni
L'argomento iomode può avere una qualsiasi delle seguenti impostazioni:
Table 11-35 Impostazione dell'argomento Iomode
| Costante | Valore | Descrizione |
|---|---|---|
| ForReading | 1 | Apre il file in sola lettura. Non è possibile scrivere in questo file. |
| ForWriting | 2 | Apre il file in modalità di scrittura. |
| ForAppending | 8 | Apre il file consentendone la scrittura alla fine del file. |
Note
Il metodo OpenAsTextStream fornisce le stesse funzionalità del metodo OpenTextFile dell'oggetto FileSystemObject. È inoltre possibile utilizzare il metodo OpenAsTextStream per scrivere in un file.
Nel codice seguente viene illustrato l'uso del metodo OpenAsTextStream.
Esempio 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."
Esempio 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."
Esempio 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."
Esempio 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