Процедура на Visual Basic, за да получите текущото потребителско име


Обобщена информация


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

Повече информация


Microsoft Excel няма вградени функции за достъп до текущото потребителско име на компютъра. Обаче можете да използвате командата Declare във Visual Basic for Applications макрос да се обадите на Microsoft Windows функция, която ще върне текущото потребителско име. Microsoft предоставя примери на Visual Basic за приложения процедури само за илюстративни цели без гаранция изрични или подразбиращи се, включително, но не само подразбиращи се гаранции за продаваемост и/или годност за определена цел. Visual Basic процедурите в тази статия се предоставят "както е" и Microsoft не гарантира, че те може да се използва във всички случаи. Докато специалистите по поддръжка на Microsoft могат да помогнат обяснение на функциите на даден макрос, те няма да модифицират тези примери с цел предоставяне на допълнителна функционалност, нито ще помогне да се изгради макроси на нуждите ви. Ако имате ограничен опит програмиране, можете да се консултирате с един от доставчиците на решения на Microsoft. Доставчици на решения предлагат широка гама от такса базирани услуги, включително създаване на потребителски макроси. За повече информация за доставчиците на решения на 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. Имайте предвид, че текущото потребителско име ще се появи в прозореца на съобщението.