Аннотация

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

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

Microsoft Excel не имеет встроенных функциональных возможностей для доступа к текущему имени пользователя компьютера. Однако вы можете использовать оператор Declare в макросе Visual Basic для приложений для вызова функции Microsoft Windows, которая будет возвращать текущее имя пользователя. Корпорация Майкрософт предоставляет примеры процедур для работы с приложениями в Visual Basic для приложений, предназначенные только для иллюстрации, без каких-либо гарантий или подразумеваемых, включая, но не ограничиваясь подразумеваемыми гарантии пригодности и/или применимости для определенной цели. Процедуры Visual Basic, описанные в этой статье, предоставляются "как есть", и Microsoft не гарантирует, что они могут использоваться во всех ситуациях. Специалисты службы поддержки Майкрософт могут объяснить особенности функций определенного макроса, но они не изменяют эти примеры для предоставления дополнительных функциональных возможностей, а также не помогают вам создавать макросы в соответствии с конкретными потребностями. Если вы ограничили взаимодействие с программированием, вам может потребоваться обратиться к одному из поставщиков решений Майкрософт. Поставщики решений предлагают широкий спектр услуг, основанных на сборах, в том числе создание настраиваемых макросов. Чтобы получить дополнительные сведения о поставщиках решений Майкрософт, обратитесь в службу 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. Обратите внимание, что имя текущего пользователя появится в окне сообщения.

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?

Спасибо за ваш отзыв!

×