Процедуру Visual Basic, чтобы получить текущее имя пользователя


Аннотация


Можно сделать вызов Windows API (интерфейс прикладного программирования) для Microsoft Windows библиотек DLL (библиотека динамической компоновки) для получения имени текущего пользователя. Имя текущего пользователя можно получить с помощью функции GetUserNameA в ADVAPI32. DLL.

Дополнительная информация


Microsoft Excel не имеет встроенные функциональные возможности для доступа к имени пользователя текущего компьютера. Тем не менее можно использовать оператор Declare в Visual Basic для приложений макроса для вызова функции Microsoft Windows, которая возвращает имя текущего пользователя. Корпорация Майкрософт предоставляет примеры процедур Visual Basic для приложений только для иллюстрации и без гарантии или подразумеваемых, включая, помимо прочего, подразумеваемые гарантии товарности или пригодности для определенной цели. Visual Basic процедуры, описанные в этой статье предоставлены «как есть» и корпорация Майкрософт не гарантирует, что они могут использоваться во всех ситуациях. Хотя специалисты службы технической поддержки Майкрософт могут объяснить возможности конкретного макроса, они будут изменять примеры для расширения его функциональности, а также они помогут вам создавать макросы для удовлетворения конкретных потребностей. Если вопросам программирования может потребоваться обратитесь к одной из поставщиков решений корпорации Майкрософт. Поставщики решений предоставляют широкий спектр платных служб, включая создание пользовательских макросов. Дополнительные сведения о поставщиках решений Microsoft вызов сведений служба поддержки клиентов на (800) 426-9400.

ПРИМЕР

  1. Введите следующий код в новый модуль:
        ' Makes sure all variables are dimensioned in each subroutine.     Option Explicit     ' Access the GetUserNameA function in advapi32.dll and     ' call the function GetUserName.     Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _     (ByVal lpBuffer As String, nSize As Long) As Long     ' Main routine to Dimension variables, retrieve user name     ' and display answer.     Sub Get_User_Name()     ' Dimension variables     Dim lpBuff As String * 25     Dim ret As Long, UserName As String     ' Get the user name minus any trailing spaces found in the name.     ret = GetUserName(lpBuff, 25)     UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)     ' Display the User Name     MsgBox UserName     End Sub
  2. Запустите макрос Get_User_Name. Обратите внимание, что имя текущего пользователя появится в окне сообщения.