Примеры кода функции Environ для VBA - PullRequest
19 голосов
/ 01 июня 2009

Я ищу информацию или примеры кода для функции Environ в VBA, чтобы получить имя пользователя в текущей системе.

Ответы [ 3 ]

42 голосов
/ 01 июня 2009

Environ() возвращает значение любой переменной среды. Их можно найти, выполнив следующую команду в командной строке:

set

Если вы хотите получить имя пользователя, вы должны сделать:

Environ("username")

Если вы хотите получить полное имя, вы должны сделать:

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

Ссылки

20 голосов
/ 02 июня 2009

Как упоминал Эрик, вы можете использовать environment с аргументом ComputerName следующим образом:

MsgBox Environ("USERNAME")

Некоторая дополнительная информация, которая может быть полезна для вас:

  1. Аргументы не с учетом регистра.
  2. Существует несколько более быстродействующая строковая версия функции Environ. Чтобы вызвать его, используйте знак доллара. (Например: Environ $ ("username")) Это принесет вам небольшой прирост производительности.
  3. Вы можете извлечь все Переменные среды системы , используя эту функцию. (Не только имя пользователя.) Обычное использование - получить значение «ComputerName», чтобы увидеть, с какого компьютера пользователь входит в систему.
  4. Я не рекомендую его для большинства ситуаций, но иногда полезно знать, что вы также можете обращаться к переменным с помощью index . Если вы используете этот синтаксис, имя аргумента и возвращают значение. Таким образом, вы можете перечислить все доступные переменные. Допустимые значения: 1 - 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
1 голос
/ 06 августа 2018

Иногда, когда мы используем функцию Environ(), мы можем получить ошибку библиотеки или свойства не найдена. Используйте VBA.Environ() или VBA.Environ$(), чтобы избежать ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...