VBA - Lire un fichier texte dans une chaîne

Ce tutoriel montrera comment lire un fichier texte dans une chaîne en VBA.

Nous pouvons soit lire le fichier texte ligne par ligne, soit comme un fichier entier.

Lire un fichier texte entier dans une chaîne

Le texte d'un fichier texte est généralement composé de plusieurs lignes, séparées par des délimiteurs. Ceux-ci peuvent être une virgule (","), une virgule avec espace (", "), un point-virgule (";"), un point-virgule avec espace ("; "), un espace (" "), une tabulation (vbTab ) ou, dans de rares cas, tout autre caractère tel qu'un tilde (~). Les lignes sont normalement séparées par un saut de ligne (vbCRLF).

Le moyen le plus simple de lire un fichier texte entier dans VBA consiste à exécuter le code suivant qui placera tout le contenu du fichier texte dans une variable de chaîne. Cette procédure utilise l'instruction VBA Open et la fonction VBA FreeFile.

12345678910 Sous-LireFichier()Dim iTxtFile en tant qu'entierDim strFile As StringDim strFileText en tant que chaînestrFile = "C:\Test\TestFile.txt"iTxtFile = FreeFileOuvrir strFile pour l'entrée en tant que FreeFilestrFileText = Input(LOF(iTxtFile), iTxtFile)Fermer le fichier iTxtFin du sous-marin

Nous pouvons également lire un fichier texte en VBA en utilisant le FileSystemObject. Dans le code ci-dessous, nous avons utilisé une liaison tardive avec l'objet de système de fichiers.

1234567891011 Sous-LireFichierTexte()Dim strText en tant que chaîneDim FSO comme objetDim TSO en tant qu'objetDéfinir FSO = CreateObject("Scripting.FileSystemObject")Définir TSO = FSO.OpenTextFile("C:\Test\TestFile.txt")strText = TSO.ReadAllTSO.FermerDéfinir TSO = RienDéfinir FSO = RienFin du sous-marin

Nous pouvons également utiliser une liaison anticipée dans le code et déclarer l'objet de système de fichiers en créant une référence dans notre projet Excel à l'objet de système de fichiers.

1234567891011 Sous-LireFichierTexte()Dim strText en tant que chaîneDim FSO en tant que nouveau FileSystemObjectDim TSO en tant qu'objetDéfinir FSO = CreateObject("Scripting.FileSystemObject")Définir TSO = FSO.OpenTextFile("C:\Test\TestFile.txt")strText = TSO.ReadAllTSO.FermerDéfinir TSO = RienDéfinir FSO = RienFin du sous-marin

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave