Écrire dans un fichier

Principe

Sub OuvrirFichier()
	Dim oNet, sUsername, FSO
	Dim Chemin, MonFichier
	Set oNet=CreateObject("WScript.Network")
	sUsername=oNet.UserName
	Set oNet = Nothing
	Chemin = "c:Profiles\" & sUsername & "\monFichier.txt"
	Set FSO = CreateObject("Scripting.FileSystemObject")
	Chemin = FSO.GetAbsolutePathName(Chemin)
	Set MonFichier = FSO.OpenTextFile(Chemin,2,True)
	MonFichier.WriteLine "Nouvelle ligne."
End Sub

Le script ouvre un fichier situé dans le répertoire de l'utilisateur courant que l'on identifie grâce à l'objet WScript.Network.

Dès que le fichier est ouvert en écriture (OpenTextFile(Chemin,2,True)), on peut utiliser la fonction WriteLine, méthode d'un objet TextStream (ici : MonFichier).

Le paramètre True signifie : créer le fichier s'il n'existe pas.

On peut aussi ouvrir un fichier en mode Append : OpenTextFile(Chemin,8).

Exemple : enregistrer PPN et données d'exemplaire (e01)

Sub EnregistreExemplaires()
	Dim total
	Dim champ, PPN
	Dim nbreExemplaires
	Dim etiqExempl
	Dim oNet, sUsername, FSO
	Dim Chemin, MonFichier
	Set oNet=CreateObject("WScript.Network")
	sUsername=oNet.UserName
	Set oNet = Nothing
	Chemin = "c:Profiles\" & sUsername & "\monFichier.txt"
	Set FSO = CreateObject("Scripting.FileSystemObject")
	Chemin = FSO.GetAbsolutePathName(Chemin)
	Set MonFichier = FSO.OpenTextFile(Chemin,2)
	etiqExempl = "915"
	Application.ActiveWindow.Command "che tdo o et rbc 830622101 et cod TH?", False
	total = Application.ActiveWindow.Variable("P3GSZ")
	For element = 1 To total
		nbreExemplaires = 0
		Application.ActiveWindow.Command "aff " & element, False
		Application.ActiveWindow.Command "mod", False
		Application.ActiveWindow.Title.FindTag etiqExempl, nbreExemplaires, True, True
		Application.ActiveWindow.Title.StartOfField
		Application.ActiveWindow.Title.EndOfField true
		champ = Application.ActiveWindow.Title.selection
		Application.ActiveWindow.Title.lineDown
		Application.ActiveWindow.Title.StartOfField
		Application.ActiveWindow.Title.EndOfField true
		champ = champ & "" & Application.ActiveWindow.Title.selection
		PPN = Application.ActiveWindow.Variable("P3GPP")
		MonFichier.WriteLine PPN & vbTab & champ
	Next
End Sub

Ce script enregistre dans un fichier .txt le PPN, suivi d'une tabulation, suivi des champs 915 et 930 concaténés sur une seule ligne, et délimités par £.