Подтвердить что ты не робот

Примеры экранов функциональных возможностей Environ для VBA

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

4b9b3361

Ответ 1

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

set

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

Environ("username")

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

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

Рекомендации

Ответ 2

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

MsgBox Environ("USERNAME")

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

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

Ответ 3

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