VBA GetFolder & GetFile (Obtenir les propriétés du fichier et du dossier)

Ce didacticiel montrera comment utiliser les méthodes GetFolder et GetFile du FileSystemObject.

Obtenir les propriétés du dossier et du fichier avec VBA FileSystemObject

La méthode GetFolder renvoie un objet Folder correspondant au dossier dans un chemin spécifié et vous permet d'accéder à ses propriétés. La méthode GetFile fait de même avec le fichier spécifié.

Définir la référence VBA

Tout d'abord, lorsque vous utilisez FileSystemObjects, vous devrez peut-être définir une référence à la bibliothèque d'exécution du script VB : ouvrez Visual Basic Editor (ALT+F11), sélectionnez Outils > Références dans le menu déroulant et cochez la case de « Exécution de script Microsoft ».

FileSystemObject

Deuxièmement, vous devez créer le FileSystemObject :

12 Dim FSO en tant que nouvel objet FileSystemDéfinir FSO = CreateObject("Scripting.FileSystemObject")

Vous avez maintenant accès à GetFolder et aux autres méthodes FileSystemObject.

Utilisation de la méthode GetFolder

Après avoir spécifié le dossier auquel vous souhaitez accéder

1 Définir fld = FSO.GetFolder("C:\Src\")

tu peux le copier :

1 fld.Copier "C:\NouveauDossier\"

déplacez-le :

1 fld.Déplacer "C:\NouveauDossier\"

supprime-le:

1 fld.Supprimer

ou créez-y un nouveau fichier texte :

1 fld.CréerFichierTexte "NouveauFichierTexte.txt"

En utilisant cette méthode, vous avez accès aux propriétés du dossier telles que ses attributs (fld.Attributes), la date et l'heure de sa création (fld.DateCreated), du dernier accès (fld.DateLastAccessed), de la dernière modification (fld.DateLastModified ), la lettre de son lecteur (fld.Drive), son nom et son nom court (fld.Name, fld.ShortName), son chemin et son raccourci (fld.Path, fld.ShortPath), sa taille (fld.Size), son type (fld.Type), son dossier parent (fld.ParentFolder), vérifiez s'il s'agit d'un dossier racine (fld.IsRootFolder) ou vous pouvez parcourir, compter, etc. ses fichiers (fld.Files) ou ses sous-dossiers (fld. sous-dossiers).

Mettre tout cela ensemble dans une procédure ressemblerait à ceci:

123456789101112131415161718192021222324 Sous-FSOGetFolder()Dim FSO en tant que nouvel objet FileSystemDéfinir FSO = CreateObject("Scripting.FileSystemObject")Définir fld = FSO.GetFolder("C:\Src\")Debug.Print fld.DateCreatedDebug.Print fld.DriveDebug.Print fld.NameDebug.Print fld.ParentFolderDebug.Print fld.PathDebug.Print fld.ShortPathDebug.Print fld.SizeDebug.Print fld.Files.CountDebug.Print fld.TypePour chaque pli dans fld.SubFoldersDebug.Print fold.NamePli suivantPour chaque fichier dans fld.FilesDebug.Print file.NameFichier suivantFin du sous-marin

Veuillez noter que vous devez appuyer sur Ctrl+G pour voir le résultat de la commande Debug.Print dans la fenêtre immédiate VBA.

Méthode GetParentFolderName

Alternativement à la manière mentionnée ci-dessus, vous pouvez accéder au nom du dossier parent d'un dossier en utilisant ce code :

1234 Dim FSO en tant que nouvel objet FileSystemDéfinir FSO = CreateObject("Scripting.FileSystemObject")ParentFold= FSO.GetParentFolderName("C:\ParentTest\Test\")

ParentFold sera dans ce cas "C:\ParentTest\".

Veuillez noter que cette méthode ne résoudra pas le chemin et ne vérifiera pas l'existence du chemin spécifié.

Méthode GetSpecialFolder

Avec la méthode GetSpecialFolder, en passant 0, 1 ou 2 comme argument, vous pouvez obtenir votre chemin de dossier Windows (avec les fichiers installés par le système d'exploitation Windows), votre chemin de dossier système (avec les bibliothèques, les polices et les pilotes de périphérique) et temporaire chemin du dossier (le dossier utilisé pour stocker les fichiers temporaires), respectivement.

1234567 Sous-FSOGetSpecialFolder()Dim FSO en tant que nouvel objet FileSystemDéfinir FSO = CreateObject("Scripting.FileSystemObject")Debug.Print FSO.GetSpecialFolder(0) ‘Le résultat peut être : C:\Windows\System32Fin du sous-marin

Méthode GetFile

Vous pouvez utiliser la méthode GetFile d'une manière très similaire à la méthode GetFolder. Après avoir spécifié le fichier auquel vous souhaitez accéder

1 Définir le fichier = FSO.GetFile("C:\Src\Test.xlsx")

tu peux le copier :

1 fil.Copier "C:\Dst\"

déplacez-le :

1 fil.Déplacer "C:\Dst\"

supprime-le:

1 fil.Supprimer

ou ouvrez-le en tant qu'objet TextStream :

1 fil.OpenAsTextStream

Les propriétés du fichier telles que ses attributs, la date et l'heure de sa création, de son dernier accès ou de sa dernière modification, la lettre de son lecteur, son nom et son nom abrégé, son chemin d'accès et son chemin d'accès abrégé, sa taille, son type et son dossier parent sont accessibles de la même manière comme décrit dans la méthode GetFolder.

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

wave wave wave wave wave