Comment utiliser la fonction GetAttr dans VBA ?

La fonction `GetAttr` en VBA (Visual Basic for Applications) est utilisée pour obtenir les attributs d’un fichier ou d’un répertoire. Ces attributs peuvent indiquer si le fichier est en lecture seule, masqué, un répertoire, un fichier système, etc. Voici comment l’utiliser :

Syntaxe

GetAttr(pathname)
  • pathname : Une chaîne représentant le chemin d’accès complet du fichier ou du répertoire dont vous voulez obtenir les attributs.

Valeurs de retour

`GetAttr` renvoie une valeur numérique qui peut être vérifiée à l’aide de constantes prédéfinies dans VBA. Ces constantes incluent :

  • `vbNormal` (0) : Fichier normal.
  • `vbReadOnly` (1) : Fichier en lecture seule.
  • `vbHidden` (2) : Fichier masqué.
  • `vbSystem` (4) : Fichier système.
  • `vbDirectory` (16) : Répertoire.
  • `vbArchive` (32) : Fichier d’archive.

Pour vérifier si un fichier ou répertoire possède un ou plusieurs de ces attributs, vous utilisez l’opérateur And pour tester les bits spécifiques.

Exemple d’utilisation

Sub ExampleGetAttr()
    Dim filePath As String
    Dim attr As Integer

    ' Chemin du fichier
    filePath = "C:CheminVersVotreFichier.txt"
    
    ' Obtenir les attributs
    attr = GetAttr(filePath)

    ' Vérifier les attributs
    If attr And vbReadOnly Then
        MsgBox "Le fichier est en lecture seule."
    Else
        MsgBox "Le fichier n'est pas en lecture seule."
    End If

    If attr And vbHidden Then
        MsgBox "Le fichier est masqué."
    End If

    If attr And vbSystem Then
        MsgBox "Le fichier est un fichier système."
    End If

    If attr And vbDirectory Then
        MsgBox "Ceci est un répertoire."
    Else
        MsgBox "Ceci est un fichier."
    End If
End Sub

Notes

  • Si le chemin spécifié n’existe pas, une erreur d’exécution se produira. Vous devez donc envisager d’ajouter une gestion des erreurs pour traiter un tel cas.
  • Vous pouvez combiner plusieurs constantes à l’aide de l’opérateur + pour tester plusieurs attributs simultanément, par exemple, `If attr And (vbReadOnly + vbHidden) Then`.

En utilisant la fonction `GetAttr`, vous pouvez facilement interagir avec le système de fichiers pour déterminer les attributs de vos fichiers et répertoires et ajuster votre logique en conséquence.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project