Introduction à FileSystemObject

Pourquoi utilisons-nous VBA? Nous utilisons VBA pour automatiser nos tâches. Normalement, dans Excel, nous ne travaillons qu'avec des données présentes dans des lignes et des colonnes qui sont sous forme de tableaux ou quelque chose. Mais qu'en est-il des fichiers et dossiers qui ne font pas partie d'Excel? Et si nous devons utiliser ces données à partir de n'importe quel fichier, comment y accéder. C'est là que FileSystemObject est utile.

FileSystemObject ou FSO est utilisé pour accéder au système de fichiers depuis notre ordinateur. En utilisant cela, nous pouvons avoir accès à tous les dossiers de fichiers que nous avons présents sur l'ordinateur sur lequel nous travaillons. FSO est essentiellement un outil API utilisé pour accéder à d'autres fichiers. Maintenant, ce n'est pas présent par défaut dans VBA que nous apprendrons plus loin dans cet article. Comprenons d'abord ce qu'est l'OFS. Plus tôt dans VBA, nous avions la fonction DIR qui était appelée pour accéder à d'autres fichiers et dossiers à partir d'un ordinateur. Le codage de la fonction DIR était très complexe à utiliser. Mais dans l'OFS, les choses sont différentes.

Maintenant, il existe quatre types d'objets auxquels FSO peut accéder et ils sont les suivants:

  • Drive: qui est utilisé pour avoir accès à un lecteur mentionné.
  • Dossier: Il est utilisé pour avoir accès à un dossier mentionné.
  • Fichier: permet d'accéder à un fichier mentionné.
  • Flux de texte: Avec cet objet, nous pouvons lire ou écrire un fichier texte.

Chacun des objets répertoriés ci-dessus a différentes méthodes pour les utiliser. Par exemple, si nous voulons copier un fichier, nous utiliserons la méthode CopyFile ou supprimer un dossier, nous utiliserons la méthode DeleteFolder et ainsi de suite.

Comme je l'ai expliqué ci-dessus, FSO n'est pas présent par défaut dans VBA, il existe deux méthodes pour activer FSO dans VBA.

  • La première méthode consiste à définir la référence.
  • La deuxième méthode consiste à se référer à la bibliothèque à partir du code.

Bien que la deuxième méthode soit plus complexe, il est toujours recommandé d'utiliser la première méthode qui est très simple. Suivons ces étapes de base.

Dans VBA, accédez à l'onglet Outils, puis accédez à Références,

Une boîte de dialogue apparaîtra, sélectionnez Microsoft Scripting Runtime comme indiqué ci-dessous et appuyez sur OK.

Nous pouvons maintenant accéder à FSO en VBA. Maintenant, utilisons-le à travers quelques exemples et apprenons-en plus.

Comment utiliser VBA FileSystemObject dans Excel?

Voici les différents exemples d'utilisation de la fonction VBA FileSystemObject dans Excel

Vous pouvez télécharger ce modèle Excel VBA FileSystemObject ici - Modèle Excel VBA FileSystemObject

VBA FileSystemObject - Exemple # 1

Avant de commencer à utiliser FSO dans Vba, apprenons d'abord à créer des instances dans VBA.

Étape 1: dans le sous-module, créez une sous-procédure,

Code:

 Sub Newfso () End Sub 

Étape 2: Déclarez une variable comme FileSystemObject comme indiqué ci-dessous,

Code:

 Sub Newfso () Dim A As FileSystemObject End Sub 

Étape 3: Maintenant, nous devons créer une instance car FSO est un objet en utilisant l'instruction SET comme indiqué ci-dessous,

Code:

 Sub Newfso () Dim A As FileSystemObject Set A = New FileSystemObject End Sub 

Maintenant, cette déclaration nous permettra de créer ou de modifier des fichiers ou des dossiers à l'aide de FSO.

Étape 4: Maintenant, nous pouvons voir la fonctionnalité IntelliSense après avoir activé FSO. Utilisez l'opérateur point comme suit,

Code:

 Sub Newfso () Dim A As FileSystemObject Set A = New FileSystemObject A. End Sub 

Il nous a donné diverses options en utilisant la fonction IntelliSense. C'est ainsi que nous créons des instances à l'aide de FSO.

VBA FileSystemObject - Exemple # 2

Maintenant que nous avons créé une instance dans l'exemple 1, allons plus loin pour l'utiliser et vérifions s'il existe ou non un fichier ou un dossier.

Étape 1: après avoir créé un nouveau FileSystemObject, utilisez l'instruction IF pour déterminer si un dossier existe ou non comme suit,

Code:

 Sub Newfso () Dim A As FileSystemObject Set A = New FileSystemObject If A.FolderExists ("C: \ Users \ Public \ Project") Then End Sub 

Étape 2: Si le dossier existe, nous voulons afficher le dossier existe et sinon, nous voulons qu'il affiche ce dossier n'existe pas.

Code:

 Sub Newfso () Dim A As FileSystemObject Set A = New FileSystemObject If A.FolderExists ("C: \ Users \ Public \ Project") Then MsgBox "Le dossier existe" Sinon MsgBox "Le dossier n'existe pas" End If End Sub 

Étape 3: Maintenant, exécutez le code ci-dessus et voyez le résultat comme suit,

Le dossier existe sur mon bureau, nous recevons donc le message que le dossier existe.

VBA FileSystemObject - Exemple # 3

Maintenant, depuis que nous avons discuté que FSO a divers objets tels que des lecteurs. Voyons combien d'espace je dispose sur mon lecteur E.

Étape 1: Commencez par une autre sous-procédure comme suit,

Code:

 Sub Newfso1 () End Sub 

Étape 2: déclarez maintenant une variable en tant que FileSystemObject et définissez-la sur une nouvelle instance comme suit,

Code:

 Sub Newfso1 () Dim A As FileSystemObject Set A = New FileSystemObject End Sub 

Étape 3: Maintenant que nous utilisons la propriété Drive, déclarez une variable comme type de lecteur et une variable comme double pour conserver les données d'espace comme suit,

Code:

 Sub Newfso1 () Dim A As FileSystemObject Set A = New FileSystemObject Dim D As Drive, Dspace As Double End Sub 

Étape 4: Créons maintenant un nouvel objet lecteur comme indiqué ci-dessous,

Code:

 Sub Newfso1 () Dim A As FileSystemObject Set A = New FileSystemObject Dim D As Drive, Dspace As Double Set D = A.GetDrive ("C:") End Sub 

C'est l'une des méthodes FSO que nous utilisons pour accéder au lecteur.

Étape 5: Nous utiliserons une autre méthode FSO pour obtenir l'espace libre du lecteur et le stocker dans la variable définie pour stocker l'espace disque,

Code:

 Sub Newfso1 () Dim A As FileSystemObject Set A = New FileSystemObject Dim D As Drive, Dspace As Double Set D = A.GetDrive ("C:") Dspace = D.FreeSpace End Sub 

Étape 6: Calculons maintenant l'espace en Go comme suit,

Code:

 Sub Newfso1 () Dim A As FileSystemObject Set A = New FileSystemObject Dim D As Drive, Dspace As Double Set D = A.GetDrive ("C:") Dspace = D.FreeSpace Dspace = Round ((Dspace / 1073741824), 2) End Sub 

Étape 7: affichez maintenant la valeur stockée dans l'espace Drive à l'aide de la fonction msgbox comme suit,

Code:

 Sub Newfso1 () Dim A As FileSystemObject Set A = New FileSystemObject Dim D As Drive, Dspace As Double Set D = A.GetDrive ("C:") Dspace = D.FreeSpace Dspace = Round ((Dspace / 1073741824), 2) MsgBox "The Drive" & D & "has" & Dspace & "GB free Space" End Sub 

Étape 8: Exécutez le code ci-dessus pour découvrir le résultat ci-dessous,

VBA FileSystemObject - Exemple # 4

Créons maintenant un nouveau dossier à un emplacement spécifié à l'aide de FSO.

Étape 1: Encore une fois, commençons par une autre sous-procédure comme suit,

Code:

 Sub Newfso2 () End Sub 

Étape 2: suivons les mêmes étapes et créons une instance comme suit,

Code:

 Sub Newfso2 () Dim A As FileSystemObject Set A = New FileSystemObject End Sub 

Étape 3: Maintenant, nous allons utiliser la méthode Créer un dossier pour créer un nouveau dossier à un emplacement spécifié,

Code:

 Sub Newfso2 () Dim A As FileSystemObject Set A = New FileSystemObject A.CreateFolder ("C: \ Users \ Public \ Project \ FSOExample") End Sub 

Étape 4: exécutez le code ci-dessus et voyez le résultat sur le bureau comme suit,

Nous avons réussi à créer un nouveau dossier à l'emplacement spécifié.

Choses à retenir dans VBA FileSystemObject

  • FSO est un outil d'application API.
  • FSO n'est pas disponible par défaut dans VBA.
  • Avec FSO, nous pouvons créer, modifier ou lire des fichiers et des dossiers dans un ordinateur.
  • Nous pouvons également utiliser FSO pour nos lecteurs réseau.

Articles recommandés

Ceci est un guide de VBA FileSystemObject. Nous discutons ici comment utiliser VBA FileSystemObject dans Excel avec quelques exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Guide complet du classeur VBA
  2. Fonction INDIRECTE dans Excel
  3. Fonction de comptage VBA
  4. Fonction Excel XOR

Catégorie: