Shrnutí
Můžete provést volání rozhraní Windows API (rozhraní application programming interface) knihovny Microsoft Windows DLL (dynamic-link library) k získání aktuálního uživatelského jména. Pomocí funkce GetUserNameA v ADVAPI32 lze získat aktuální uživatelské jméno. DLL.
Další informace
Aplikace Microsoft Excel nemá vestavěné funkce pro přístup k aktuální uživatelské jméno v počítači. Však můžete použít příkazu Declare v jazyce Visual Basic pro Applications makro k volání funkce systému Windows, která vrátí aktuální uživatelské jméno. Společnost Microsoft poskytuje příklady jazyka Visual Basic pro Applications procedury pouze pro ilustraci bez jakékoli záruky výslovně uvedené nebo předpokládané, včetně, ale nikoli výhradně, mlčky předpokládaných záruk obchodovatelnosti nebo vhodnosti pro určitý účel. Procedury jazyka Visual Basic v tomto článku jsou poskytovány 'jako je' a společnost Microsoft nezaručuje, že lze použít ve všech situacích. Zatímco pracovníci podpory společnosti Microsoft mohou vysvětlit funkce určité makro, nemohou tyto příklady poskytují přidané funkce ani bude pomáhají vytvářet makra konkrétním potřebám. Jestliže nejste zkušenými programátory, můžete chtít konzultovat některého z poskytovatelů řešení společnosti Microsoft. Poskytovatelé řešení nabízejí širokou škálu služeb založených na poplatek, včetně vytváření vlastní makra. Další informace o Microsoft poskytovatelům řešení zavolejte zákazníkovi informace služby na (800) 426-9400.
PŘÍKLAD
-
Do nového modulu zadejte následující kód:
' 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
-
Spuste makro Get_User_Name. Všimněte si, že jméno aktuálního uživatele se zobrazí v okně se zprávou.