Articles

VBA FileSystemObject (FSO)

Excel VBA FileSystemObject (FSO)

VBA FileSystemObject (FSO) fonctionne de manière similaire à FileDialog, utilisé pour obtenir l’accès aux autres fichiers de l’ordinateur sur lequel nous travaillons. Nous pouvons également modifier ces fichiers, c’est-à-dire lire ou écrire le fichier. En utilisant FSO, nous pouvons accéder aux fichiers, travailler avec eux, modifier les fichiers et les dossiers. FSO est l’outil API important auquel nous pouvons accéder avec VBA. Dans le cadre du projet VBA, nous pouvons avoir besoin d’accéder à quelques dossiers et fichiers dans notre ordinateur pour faire le travail.

Nous pouvons faire beaucoup de tâches en utilisant FSO comme « vérifier si le dossier est disponible ou non », Créer un nouveau dossier ou des fichiers, renommer le dossier ou les fichiers existants, obtenir la liste de tous les fichiers dans le dossier, et aussi les noms des sous-dossiers. Enfin, nous pouvons copier des fichiers d’un emplacement à un autre.

Même s’il existe d’autres fonctions disponibles pour travailler avec des dossiers et des fichiers, FSO est la méthode la plus simple pour travailler avec des dossiers et des fichiers en gardant le code VBA net et droit.

Nous pouvons accéder à quatre types d’objets avec FileSystemObject. Les voici.

  1. Lecteur : En utilisant cet objet, nous pouvons vérifier si le lecteur mentionné existe ou non. Nous pouvons obtenir le nom de chemin, le type de but et la taille de l’entreprise.
  2. Dossier : Cet objet nous permet de vérifier si le dossier particulier existe ou non. Nous pouvons créer, supprimer, modifier, copier des dossiers en utilisant cet objet.
  3. Fichier : Cet objet nous permet de vérifier si le fichier particulier existe ou non. Nous pouvons créer, supprimer, modifier, copier des fichiers en utilisant cet objet VBA.
  4. Flux de texte : Cet objet nous permet de créer ou de lire des fichiers texte.

Toutes les méthodes ci-dessus ont leur méthode pour travailler. En fonction de nos besoins, nous pouvons choisir la méthode de chaque objet.

Comment activer FileSystemObject?

Il n’est pas facilement accessible en VBA. Puisque l’accès aux fichiers et aux dossiers est la tâche extérieure d’excel, nous devons activer le FileSystemObject. Pour l’encourager, suivez les étapes ci-dessous.

Etape #1 : Allez dans Outils>Références.

Etape #2 – Sélectionnez l’option ‘Microsoft Scripting Runtime’

Défilez vers le bas et sélectionnez l’option ‘Microsoft Scripting Runtime’. Après avoir choisi les options, cliquez sur OK.

Maintenant nous pouvons accéder au FileSystemObject (FSO) en VBA.

Créer une instance de FileSystemObject

Une fois que l’option ‘Microsoft Scripting Runtime’ est activée à partir de la bibliothèque d’objets, nous devons créer un File System Object (FSO) par codage.

Cours populaire dans cette catégorie

Formation VBA (3 cours, 12+ projets)
4.6 (247 évaluations) 3 Cours | 12 Projets pratiques | 43+ heures | Accès complet à vie | Certificat d’achèvement

Pour créer l’instance, déclarez d’abord la variable comme FileSystemObject.

Comme nous pouvons le voir, FileSystemObject apparaît dans la liste IntelliSense de VBA. Cela n’aurait pas été disponible avant que nous activions le ‘Microsoft Scripting Runtime’.’

Puisque FSO est un objet, nous devons le définir pour créer une nouvelle instance.

Maintenant nous pouvons accéder à toutes les options de FSO(FileSystemObject).

Exemples pour utiliser VBA FileSystemObject

Vous pouvez télécharger ce modèle Excel VBA FileSystemObject ici – VBA FileSystemObject Excel Template

Exemple #1 – Trouver l’espace total du disque

Le code ci-dessous donnera l’espace total du disque.

Code:

Sub FSO_Example1() Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject Dim DriveName As Drive Dim DriveSpace As Double Set DriveName = MyFirstFSO.GetDrive("C:") 'Create new drive object DriveSpace = DriveName.FreeSpace 'This will get the free space of the drive "C" DriveSpace = DriveSpace / 1073741824 'This will convert the free space to GB DriveSpace = Round(DriveSpace, 2) 'Round the total space MsgBox "Drive " & DriveName & " has " & DriveSpace & "GB"End Sub

Décomposition du code.

D’abord, nous avons créé une instance de FSO.

Dim MyFirstFSO As FileSystemObjectSet MyFirstFSO = New FileSystemObject

Puis, nous avons déclaré deux variables.

Dim DriveName As DriveDim DriveSpace As Double

Puisque DriveName est une variable Object, nous devons la définir à FSO un de la méthode FSO. Comme nous avons besoin de la caractéristique du lecteur, nous avons utilisé l’option Get Drive et mentionné le nom du lecteur.

Set DriveName = MyFirstFSO.GetDrive("C:")

Pour une autre variable, DriveSpace, nous allons affecter la méthode d’espace libre du lecteur auquel nous accédons.

DriveSpace = DriveName.FreeSpace

À partir de maintenant, l’équation ci-dessus peut nous obtenir l’espace libre du lecteur « C. » Donc, pour montrer le résultat en GB, nous avons divisé l’espace libre par 1073741824

DriveSpace = DriveSpace / 1073741824

Puis, nous allons arrondir le nombre.

DriveSpace = Round(DriveSpace, 2)

Enfin, montrer le résultat dans la boîte de message.

MsgBox "Drive " & DriveName & " has " & DriveSpace & "GB"

Lorsque nous exécutons le code manuellement ou par la touche de raccourci F5, alors dans la boîte de message, nous obtiendrons l’espace libre du lecteur « C. »

Donc, dans mon ordinateur le lecteur C a 216,19 Go d’espace mémoire libre.

Exemple #2 – Vérifier si le dossier existe ou non

Pour vérifier si le dossier particulier existe ou non, utilisez le code ci-dessous.

Si le dossier mentionné est disponible, il nous montrera la boîte de message comme « Le dossier mentionné est disponible. » Sinon, il montrera la boîte de message VBA comme « Le dossier mentionné n’est pas disponible. »

Code:

Sub FSO_Example2() Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject If MyFirstFSO.FolderExists("D:\Excel Files\VBA\VBA Files") Then MsgBox "The Mentioned Folder is Available" Else MsgBox "The Mentioned Folder is Not Available" End IfEnd Sub

Exécutez ce code par la touche de raccourci excel F5 ou manuellement, puis voyez le résultat.

Exemple n°3 – Vérifier si le fichier existe ou non

Le code ci-dessous vérifiera si le fichier mentionné est disponible ou non.

Code:

Sub FSO_Example3() Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject If MyFirstFSO.FileExists("D:\Excel Files\VBA\VBA Files\Testing File.xlsm") Then MsgBox "The Mentioned File is Available" Else MsgBox "The Mentioned File is Not Available" End IfEnd Sub

Exécutez ce code manuellement ou en utilisant la touche F5, puis voyez le résultat.

Articles recommandés

Ce guide a été un guide de VBA FileSystemObject. Ici, nous apprenons comment utiliser FileSystemObject (FSO) en VBA pour accéder aux fichiers et dossiers de l’ordinateur et des exemples pratiques et un modèle excel téléchargeable. Vous trouverez ci-dessous quelques articles utiles sur excel VBA –

  • ME Mot-clé en VBA
  • StrComp Fonction en VBA
  • StrConv. Fonction en VBA
  • VBA IIF
0 Shares

Formation VBA (3 cours, 12+ projets)

  • 3 cours
  • 12 projets pratiques
  • 43+ heures
  • Accès complet à vie
  • Certificat de fin de formation

APPRENDRE PLUS >>

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.