Centre Visual Basic Rechercher sur MSDN avec Bing Connexion France - Français P

Centre Visual Basic Rechercher sur MSDN avec Bing Connexion France - Français Pour commencer Vous débutez en développement Cours avec le Coach VB Quelques travaux pratiques WPF pour les développeurs WinForms en VB Articles techniques Webcasts Centre Visual Basic > Formation > Articles techniques > Microsoft – Technopoche : Utilisation du File S... Microsoft – Technopoche : Utilisation du File System Object Paru le 10 juillet 2006 Ce document a été écrit par Martine THIPHAINE, ingénieur Support Développement à Microsoft France. Il est destiné aux développeurs désirant aborder le modèle objet File System Object ou FSO. Sur cette page Introduction Mise en oeuvre Présentation du modèle objet Gestion des unités logiques Gestion de dossiers Gestion de fichiers Informations complémentaires Introduction Ce document présente comment utiliser le modèle objet FileSystemObject (ou fso) depuis Visual Basic ou Visual Basic Script. Ce modèle objet a pour but de permettre de manipuler simplement des fichiers, des dossiers et des unités logiques. Il permet notamment de créer, de modifier, de supprimer ou de déplacer des dossiers ou bien des fichiers. Depuis Visual Basic, il est bien sûr toujours possible d'utiliser les méthodes classiques de gestion de fichier, à savoir par exemple Open pour ouvrir un fichier, Dir pour lister le contenu d'un répertoire, ou certaines APIs comme GetdiskFreeSpace. Bien que le modèle objet consomme un peu plus de ressources que l'appel direct à ces fonctions, il est nettement plus simple à mettre en œuvre. Il a aussi l'avantage de regrouper en un seul modèle objet tout ce qui a trait à la gestion de fichiers. Enfin, depuis un langage de script comme VBScript ou JScript, ce modèle est fréquemment utilisé, étant donné qu'il n'est pas possible d'appeler direct ement des APIs. Ce document se propose tout d'abord de décrire le modèle objet fso, puis de fournir une série d'exemples classés par thème (unités logiques, dossiers, fichiers), afin de répondre le mieux possible aux besoins quotidiens de tout développeur. Ces exemples sont écrits en VBScript ou bien en Visual Basic. Haut de page Mise en oeuvre Ce modèle est implémenté dans la Dll "Windows Script Runtime" nommé Scrrun.dll. Cett Dll est fournie par différents produits tels que Internet Explorer, Microsoft Office, ou bien Visual Basic. La dernière version de Windows Script Runtime disponible à ce jour est la version 5.5, et est téléchargeable depuis le lien suivant: http://msdn2.microsoft.com/en-us/library/ms950396.aspx Pour pouvoir utiliser fso depuis Visual Basic en early binding, il suffit donc d'ajouter une référence à "Microsoft Scripting Runtime" depuis le menu Projet Références de l'IDE Visual Basic. Haut de page Présentation du modèle objet Le modèle objet FSO expose les objets suivants Drive Folder File FileSystemObject TextStream Certaines actions peuvent se coder de deux manières différentes: soit en utilisant une propriété ou une méthode de l'objet lui-même, soit en utilisant une méthode de l'objet FileSystemObject. Par exemple, pour copier un fichier, on peut utiliser ma méthode Copy d'un objet File, soit utiliser la méthode CopyFile de l'objet FileSystemObject. Pour obtenir des précisions sur chacune des propriétés et méthodes de ces objets, on consultera le lien suivant: http://msdn.microsoft.com/fr-fr/library /tyd4tfw8.aspx Objet FileSystemObject Cet objet représente un système de fichiers. C'est au travers de cet objet que la création, la suppression, le déplacement de fichiers ou de dossiers peuvent être réalisés. Cet objet permet de pointer vers des dossiers ou des fichiers particuliers. L'objet FileSystemObject expose la propriété suivante: Drives Accueil Library Formation Téléchargements Support technique Communautés Forums Microsoft – Technopoche : Utilisation du File System Object http://msdn.microsoft.com/fr-fr/vbasic/bb892763.aspx 1 sur 11 09/04/2010 21:14 Et les méthodes suivantes: BuildPath, CopyFile, CopyFolder, CreateFolder, CreateTextFile, DeleteFile, DeleteFolder, DriveExists, FileExists, FolderExists, GetAbsolutePathName, GetBaseName, GetDrive, GetDriveName, GetExtensionName, GetFile, GetFileName, GetFileVersion, GetFolder, GetParentFolderName, GetSpecialFolder, GetTempName, MoveFile, MoveFolder, OpenTextFile. Objet Drive Cet objet représente une unité logique (disque dur, CD-ROM, unité montée en mémoire...) Fso expose aussi une collection Drives, accessible en lecture seule, qui contient l'ensemble des unités logiques disponibles. Cette collection est accessible au travers de l'objet FileSystemObject. La programmation des objets Drive permet d'obtenir des informations sur le système de fichier d'une unité logique, la place utilisée ou disponible sur cette unité, son type...etc... Cet objet expose les propriétés suivantes: AvailableSpace, DriveLetter, DriveType, FileSystem, FreeSpace, IsReady, Path, RootFolder, SerialNumber, ShareName, TotalSize, VolumeName. Objet Folder Cet objet représente un dossier du système de fichiers. C'est au travers de cet objet que la création, la suppression, le déplacement de dossiers peuvent être réalisés. Un objet Folder possède une série de propriétés telles que sa date de création, son chemin long, son chemin court, ses attributs...etc... L'objet Folder expose les propriétés suivantes: Attributes, DateCreated, DateLastAccessed, DateLastModified, Drive, Files, IsRootFolder, Name, ParentFolder, Path, ShortName, ShortPath, Size, SubFolders, Type. Et les méthodes suivantes: Copy, CreateTextFile, Delete, Move Objet File Cet objet représente un fichier du système de fichiers. C'est au travers de cet objet que la création, la suppression, le déplacement de fichiers peuvent être réalisés. Un objet File possède une série de propriétés telles que sa date de création, son chemin long, son chemin court, sa taille, le nom de son dossier parent, ses attributs...etc... L'objet File expose les propriétés suivantes: Attributes, DateCreated, DateLastAccessed, DateLastModified, Drive, Name, Name, ParentFolder, Path, ShortName, ShortPath, Size, Type. Et les méthodes suivantes: Copy, Delete, CreateTextFile, Delete, Move ObjetTextStream Cet objet représente le contenu d'un fichier texte. Cet objet est retourné lors de l'utilisation de la méthode CreateTextFile ou OpenTextFile de l'objet FilesSystemObject, ou bien de la méthode OpenAsTextStream de l'objet File. L'objet TextStream expose les propriétés suivantes: AtEndOfLine, AtEndOfStream, Column, Line Et les méthodes suivantes: Close, Read, ReadAll, ReadLine, Skip, SkipLine, Write, WriteLine Method, WriteBlankLines Les paragraphes suivants fournissent des exemples de code pour réaliser différentes actions sur les unités logiques, les dossiers, et les fichiers. Haut de page Gestion des unités logiques La gestion des unités logiques se fait en utilisant les objets FileSystemObject et Drive.Sub ListeUnites() Code VB : Afficher la liste des unités logiques disponibles Sub ListeUnites() Dim fs As Scripting.FileSystemObject Dim d As Drive Dim sResult As String, s As String On Error GoTo errorHandler Set fs = CreateObject("Scripting.FileSystemObject") For Each d In fs.Drives sResult = sResult & d.DriveLetter & " - " Debug.Print sResult If d.DriveType = Remote Then s = d.ShareName Else Microsoft – Technopoche : Utilisation du File System Object http://msdn.microsoft.com/fr-fr/vbasic/bb892763.aspx 2 sur 11 09/04/2010 21:14 s = d.VolumeName End If sResult = sResult & s & vbCrLf Next MsgBox sResult Exit Sub errorHandler: If Err.Number = 71 Then Resume Next End Sub Code VBScript : Afficher la liste des unités logiques disponibles Sub ListeUnites() Const Remote = 3 Dim fs ' As Scripting.FileSystemObject Dim d ' As Drive Dim sResult ' As String Dim s ' As String On Error resume next Set fs = CreateObject("Scripting.FileSystemObject") For Each d In fs.Drives sResult = sResult & d.DriveLetter & " - " If d.DriveType = Remote Then s = d.ShareName Else s = d.VolumeName End If sResult = sResult & s & vbCrLf Next MsgBox sResult End Sub Afficher le type de système de fichiers d'une unité logique (FAT, NTFS...) Sub GetFileSystemType() Dim fs ' As Scripting.FileSystemObject Dim d ' As Drive Dim s ' As String Dim sUnit ' As String sUnit = "e:" Set fs = CreateObject("Scripting.FileSystemObject") Set d = fs.GetDrive(sUnit) s = d.FileSystem MsgBox sUnit & " " & s End Sub Microsoft – Technopoche : Utilisation du File System Object http://msdn.microsoft.com/fr-fr/vbasic/bb892763.aspx 3 sur 11 09/04/2010 21:14 Afficher l'espace disponible d'une unité logique Sub GetFreeSpace() Dim fs ' As Scripting.FileSystemObject Dim d ' As Drive Dim s ' As String Dim sUnit ' As String sUnit = "e:" Set fs = CreateObject("Scripting.FileSystemObject") Set d = fs.GetDrive(sUnit) s = "Unité " & UCase(sUnit) & " - " s = s & d.VolumeName & vbCrLf s = s & "Espace libre: " & FormatNumber(d.FreeSpace/1024/1024, 0) s = s & " Méga-octets" MsgBox s End Sub Haut de page Gestion de dossiers Renommer un dossier Sub RenameFolder() Dim fso ' As Scripting.FileSystemObject Dim fd ' As Scripting.Folder Dim s ' As String Dim sFolderName ' As String Dim sNewName ' As String Dim sTemp ' As String ' Initialisation des noms de dossiers sFolderName = "d:\MonDossier" sNewName = "toto" Set fso = CreateObject("Scripting.FileSystemObject") ' Vérifier que le dossier source existe bien. If fso.FolderExists(sFolderName) Then ' Récupérer l'instance du dossier. Set fd = fso.GetFolder(sFolderName) sTemp = fd.Drive & "\" & sNewName ' Vérifier que le dossier cible n'existe pas déjà. If fso.FolderExists(sTemp) Then MsgBox "Ce nom de dossier existe déjà!" Else fd.Name = sNewName End If Else MsgBox "Dossier non trouvé!" End If End Sub Microsoft – Technopoche : Utilisation du File System Object http://msdn.microsoft.com/fr-fr/vbasic/bb892763.aspx 4 sur 11 09/04/2010 21:14 Afficher les propriétés d'un dossier Const ReadOnly = 1 Const Hidden = 2 Const System = 4 Const Directory=16 Const Archive = 32 Const Alias = 64 Const Compressed = 128 Sub ShowFolderInfos() Dim fso ' As Scripting.FileSystemObject Dim fd ' As Scripting.Folder Dim sFolderName ' As String Dim s ' As String Dim lAtt ' As Long ' Initialisation du nom du dossier sFolderName = uploads/s1/ gestion-des-fichiers-en-vbscript.pdf

  • 73
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Jan 01, 2023
  • Catégorie Administration
  • Langue French
  • Taille du fichier 0.1112MB