VBA - Fichiers texte

Vous pouvez également lire le fichier Excel et écrire le contenu de la cellule dans un fichier texte à l'aide de VBA. VBA permet aux utilisateurs de travailler avec des fichiers texte en utilisant deux méthodes -

  • Objet du système de fichiers
  • en utilisant la commande d'écriture

Objet du système de fichiers (FSO)

Comme son nom l'indique, les FSO aident les développeurs à travailler avec des lecteurs, des dossiers et des fichiers. Dans cette section, nous verrons comment utiliser un FSO.

Sr.No. Type d'objet et description
1

Drive

Le lecteur est un objet. Contient des méthodes et des propriétés qui vous permettent de collecter des informations sur un lecteur connecté au système.

2

Drives

Drives est une collection. Il fournit une liste des lecteurs connectés au système, physiquement ou logiquement.

3

File

Le fichier est un objet. Il contient des méthodes et des propriétés qui permettent aux développeurs de créer, supprimer ou déplacer un fichier.

4

Files

Les fichiers sont une collection. Il fournit une liste de tous les fichiers contenus dans un dossier.

5

Folder

Le dossier est un objet. Il fournit des méthodes et des propriétés qui permettent aux développeurs de créer, supprimer ou déplacer des dossiers.

6

Folders

Folders est une collection. Il fournit une liste de tous les dossiers d'un dossier.

sept

TextStream

TextStream est un objet. Il permet aux développeurs de lire et d'écrire des fichiers texte.

Conduire

Driveest un objet, qui permet d'accéder aux propriétés d'un lecteur de disque ou d'un partage réseau particulier. Les propriétés suivantes sont prises en charge parDrive objet -

  • AvailableSpace
  • DriveLetter
  • DriveType
  • FileSystem
  • FreeSpace
  • IsReady
  • Path
  • RootFolder
  • SerialNumber
  • ShareName
  • TotalSize
  • VolumeName

Exemple

Step 1- Avant de passer au script à l'aide de FSO, nous devons activer Microsoft Scripting Runtime. Pour faire de même, accédez à Outils → Références comme indiqué dans la capture d'écran suivante.

Step 2 - Ajoutez "Microsoft Scripting RunTime" et cliquez sur OK.

Step 3 - Ajoutez les données que vous souhaitez écrire dans un fichier texte et ajoutez un bouton de commande.

Step 4 - Il est maintenant temps de Script.

Private Sub fn_write_to_text_Click()
   Dim FilePath As String
   Dim CellData As String
   Dim LastCol As Long
   Dim LastRow As Long
  
   Dim fso As FileSystemObject
   Set fso = New FileSystemObject
   Dim stream As TextStream
  
   LastCol = ActiveSheet.UsedRange.Columns.Count
   LastRow = ActiveSheet.UsedRange.Rows.Count
    
   ' Create a TextStream.
   Set stream = fso.OpenTextFile("D:\Try\Support.log", ForWriting, True)
  
   CellData = ""
  
   For i = 1 To LastRow
      For j = 1 To LastCol
         CellData = Trim(ActiveCell(i, j).Value)
         stream.WriteLine "The Value at location (" & i & "," & j & ")" & CellData
      Next j
   Next i
  
   stream.Close
   MsgBox ("Job Done")
End Sub

Production

Lors de l'exécution du script, assurez-vous de placer le curseur dans la première cellule de la feuille de calcul. Le fichier Support.log est créé comme indiqué dans la capture d'écran suivante sous "D: \ Try".

Le contenu du fichier est présenté dans la capture d'écran suivante.

Commande d'écriture

Contrairement à FSO, nous n'avons pas besoin d'ajouter de références, cependant, nous ne pourrons PAS travailler avec des lecteurs, des fichiers et des dossiers. Nous pourrons simplement ajouter le flux au fichier texte.

Exemple

Private Sub fn_write_to_text_Click()
   Dim FilePath As String
   Dim CellData As String
   Dim LastCol As Long
   Dim LastRow As Long
  
   LastCol = ActiveSheet.UsedRange.Columns.Count
   LastRow = ActiveSheet.UsedRange.Rows.Count
    
   FilePath = "D:\Try\write.txt"
   Open FilePath For Output As #2
  
   CellData = ""
   For i = 1 To LastRow
      For j = 1 To LastCol
         CellData = "The Value at location (" & i & "," & j & ")" & Trim(ActiveCell(i, j).Value)
         Write #2, CellData
      Next j
   Next i
  
   Close #2
   MsgBox ("Job Done")
End Sub

Production

Lors de l'exécution du script, le fichier "write.txt" est créé à l'emplacement "D: \ Try" comme illustré dans la capture d'écran suivante.

Le contenu du fichier est illustré dans la capture d'écran suivante.