VBA FileSystemObject (FSO) - Comment accéder à FileSystemObject?

Excel VBA FileSystemObject (FSO)

VBA FileSystemObject (FSO) fonctionne de la même manière que FileDialog, utilisé pour accéder à d'autres fichiers de l'ordinateur sur lequel nous travaillons. Nous pouvons également éditer ces fichiers, c'est lire ou écrire le fichier. En utilisant FSO, nous pouvons accéder aux fichiers, travailler avec eux, modifier des fichiers et des 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 de notre ordinateur pour faire le travail.

Nous pouvons effectuer de nombreuses 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 ou les fichiers existants, obtenir la liste de tous les fichiers du dossier, ainsi que 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 net.

Nous pouvons accéder à quatre types d'objets avec FileSystemObject. Voici ceux-ci.

  1. Drive: En utilisant cet objet, nous pouvons vérifier si le lecteur mentionné existe ou non. Nous pouvons obtenir le chemin d'accès, le type d'objet 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 à l'aide de 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 à l'aide de cet objet VBA.
  4. Text Stream: Cet objet nous permet de créer ou de lire des fichiers texte.

Toutes les méthodes ci-dessus ont leur méthode à utiliser. 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. Étant donné que l'accès aux fichiers et aux dossiers est la tâche extérieure d'Excel, nous devons activer FileSystemObject. Pour encourager, suivez les étapes ci-dessous.

Étape # 1: Accédez à Outils> Références.

Étape # 2 - Sélectionnez l'option 'Microsoft Scripting Runtime'

Faites défiler vers le bas et sélectionnez l'option «Microsoft Scripting Runtime». Après avoir choisi les options, cliquez sur OK.

Nous pouvons maintenant accéder au FileSystemObject (FSO) dans 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 objet de système de fichiers (FSO) via le codage.

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 dans VBA. Cela n'aurait pas été disponible avant d'activer le «Microsoft Scripting Runtime».

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

Nous pouvons maintenant accéder à toutes les options de FSO (FileSystemObject).

Exemples d'utilisation de VBA FileSystemObject

Exemple 1 - Trouver l'espace total du disque

Le code ci-dessous donnera l'espace total du lecteur.

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:") 'Créer un nouvel objet lecteur DriveSpace = DriveName.FreeSpace' Cela obtiendra de l'espace libre du lecteur "C" DriveSpace = DriveSpace / 1073741824 'Cela convertira l'espace libre en Go DriveSpace = Round (DriveSpace, 2)' Arrondissez l'espace total MsgBox "Drive" & DriveName & "has" & DriveSpace & "GB" End Sous

Décomposition du code.

Tout d'abord, nous avons créé une instance de FSO.

Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = Nouveau FileSystemObject

Ensuite, nous avons déclaré deux variables.

Dim DriveName As Drive Dim DriveSpace As Double

Étant donné que DriveName est une variable Object, nous devons définir ce paramètre sur FSO une des méthodes FSO. Puisque nous avons besoin des caractéristiques du lecteur, nous avons utilisé l'option Obtenir le lecteur et mentionné le nom du lecteur.

Définir DriveName = MyFirstFSO.GetDrive ("C:")

Pour une autre variable, DriveSpace, nous attribuerons 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 de l'espace libre sur le lecteur «C». Donc, pour afficher le résultat en Go, nous avons divisé l'espace ouvert par 1073741824

DriveSpace = DriveSpace / 1073741824

Ensuite, nous arrondirons le nombre.

DriveSpace = Rond (DriveSpace, 2)

Enfin, affichez le résultat dans Message Box.

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

When we run the code manually or through shortcut key F5, then in the message box, we will get the free space of the drive “C.”

So, in my computer Drive C has 216.19 GB of free space memory.

Example #2 - Check Whether the Folder Exists or Not

To check whether the particular folder exists or not, use the below code.

If the mentioned folder is available, it will show us the message box as “The Mentioned Folder is Available.” If not, it will show the VBA message box as “The Mentioned Folder is Not Available.”

Code:

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

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

Exemple # 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") Puis MsgBox "Le fichier mentionné est disponible" Else MsgBox "Le mentionné Le fichier n'est pas disponible "End If End Sub

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

Articles intéressants...