Toute l'actualité de [self-access.com] en direct sur votre ordinateur !  Vous êtes ici : Accueil » Visual Basic » Scripting Runtime » Disques (Drives)Connexion
 


Dans cet article... 
  • La collection Drives
  • Lister les disques à l'aide de la collection Drives
  •  Article mis à jour le 07/02/2009

    La collection Drives

    La collection Drives dépend directement de l'objet FileSystemObject

    Elle liste l'ensemble des disques disponibles sur votre système, chaque disque étant représenté par un objet Drive (logique, non ?).

     

    Comme l'indique l'Explorateur d'objets (touche F2 dans Visual Basic Editor), la collection Drives ne dispose que de 2 propriétés :

    Propriétés de la collection Drives
    Propriété Description
    Count Donne le nombre de disques disponibles.
    Item Renvoie l'un des éléments de la collection, donc l'un des disques du système. L'élément renvoyé est un objet Drive qui donne toutes les propriétés du disque concerné.

    Vers le haut

    Lister les disques à l'aide de la collection Drives

    L'exemple ci-dessous illustre les 2 propriétés de la collection Drives en affichant, dans la fenêtre Exécution, le nombre de disques ainsi que quelques informations sur le disque C.

    1. Recopiez le code ci-dessous dans un module standard Access.
    2. Faites apparaître la fenêtre Exécution de Visual Basic Editor (Ctrl + G).
    3. Placez le curseur au milieu du listing.
    4. Cliquez sur l'icône Exécuter Sub/UserForm.
    5. Contemplez béatement le résultat dans la fenêtre Exécution :o)
    6. Reprenez vos esprits et continuez la lecture de ce qui suit...

    ' ---
    ' DRIVES COLLECTION
    ' ---
    ' (c) 2003, Hervé Inisan - www.self-access.com
    '
    ' La fonction DriveList() illustre les propriétés de
    ' la collection Drives.
    ' Les résultats sont affichés dans la fenêtre Exécution (Ctrl+G).
    
    Function DriveList()
    Dim fso As Scripting.FileSystemObject
    
    ' Créer une instance du FSO
    Set fso = New Scripting.FileSystemObject
    
    ' Afficher le nombre de disques
    Debug.Print "NOMBRE DE DISQUES: " & fso.Drives.Count
    
    ' Afficher quelques infos sur le disque C
    Debug.Print "TAILLE DU DISQUE C: " & fso.Drives.Item("C").TotalSize
    Debug.Print "NUMERO DE SERIE DU DISQUE C: " & fso.Drives("C").SerialNumber
    
    ' Libérer les objets
    Set fso = Nothing
    End Function
    

    Vers le haut

    Résultat

    Détail du listing

    Set fso = New Scripting.FileSystemObject
    Cette ligne démarre toute utilisation du Scripting Runtime. Il s'agit de créer une instance de l'objet FileSystemObject, à partir de laquelle toutes sortes d'opérations pourront être effectuées sur le système de fichiers.
     
    Debug.Print "NOMBRE DE DISQUES: " & fso.Drives.Count
    La collection Drives dépend de l'objet FileSystemObject, représenté ici par la variable fso. Sa propriété Count donne le nombre de disques total.
     
    Debug.Print "TAILLE DU DISQUE C: " & fso.Drives.Item("C").TotalSize
    Debug.Print "NUMERO DE SERIE DU DISQUE C: " & fso.Drives("C").SerialNumber
    Ces 2 lignes illustrent 2 méthodes pour accéder à un disque précis.
    • La première méthode utilise explicitement la propriété Item de la collection Drives. Item() doit recevoir entre parenthèses la lettre du disque concerné.
    • La seconde méthode utilise le fait que la propriété Item est la propriété par défaut de la collection Drives : vous vérifiez ceci par le point bleu qui figure en regard de la propriété Item dans l'Explorateur d'objets. Item étant propriété par défaut, il n'est pas nécessaire de la mentionner.
    Drives.Item("C") ou Drives("C") voire fso.GetDrive("C") sont donc équivalents et donnent accès à un objet Drive qui décrit un disque. En guise d'illustration, 2 caractéristiques du disque C sont affichées ici : la taille totale (TotalSize) et le numéro de série (SerialNumber). Vous trouverez plus loin la liste des propriétés de l'objet Drive

    Dans certains cas, il peut être utile de vérifier si un disque existe avant d'y faire référence. La méthode FileSystemObject.DriveExists()permet de le faire. Par exemple, fso.DriveExists("G") renvoie True si le lecteur G existe, False sinon.

    Comme toujours en VBA, les variables objet sont libérées en fin de listing par un Set objet = Nothing.

    Vers le haut


    Mes livres sur Access...
    [cliquez pour plus d'infos]





    Hit-Parade 
     
    [ Copyright 1997-2017 hervé inisan, self-access.com Reproduction interdite ]