web-dev-qa-db-fra.com

Exemples de code de fonction Environ pour VBA

Je recherche des informations ou des exemples de code pour la fonction Environ dans VBA pour récupérer le nom d'utilisateur sur le système actuel.

19
gary A.K.A. G4

Environ() vous obtient la valeur de n'importe quelle variable d'environnement. Ceux-ci peuvent être trouvés en exécutant la commande suivante dans l'invite de commandes:

set

Si vous vouliez obtenir le nom d'utilisateur, vous feriez:

Environ("username")

Si vous vouliez obtenir le nom complet, vous feriez:

Environ("userdomain") & "\" & Environ("username")

Les références

42
Eric

Comme mentionné par Eric, vous pouvez utiliser environ avec l'argument ComputerName comme ceci:

MsgBox Environ("USERNAME")

Quelques informations supplémentaires qui pourraient vous être utiles:

  1. Les arguments sont pas sensibles à la casse.
  2. Il existe une version de chaîne légèrement plus rapide de la fonction Environ. Pour l'invoquer, utilisez un signe dollar. (Ex: Environ $ ("username")) Cela vous apportera un petit gain de performances.
  3. Vous pouvez récupérer toutes les variables d'environnement système à l'aide de cette fonction. (Pas seulement le nom d'utilisateur.) Une utilisation courante consiste à obtenir la valeur "ComputerName" pour voir à partir de quel ordinateur l'utilisateur se connecte.
  4. Je ne le recommande pas dans la plupart des situations, mais il peut parfois être utile de savoir que vous pouvez également accéder aux variables avec un index. Si vous utilisez cette syntaxe, le nom de l'argument et la valeur est retourné. De cette façon, vous pouvez énumérer toutes les variables disponibles. Les valeurs valides sont comprises entre 1 et 255.
    Sub EnumSEVars()
        Dim strVar As String
        Dim i As Long
        For i = 1 To 255
            strVar = Environ$(i)
            If LenB(strVar) = 0& Then Exit For
            Debug.Print strVar
        Next
    End Sub
20
Oorang

Parfois, lorsque nous utilisons la fonction Environ(), nous pouvons obtenir l'erreur Library ou propriété non trouvée. Utilisez VBA.Environ() ou VBA.Environ$() pour éviter l'erreur.

1
vanidasan