Sammanfattning
Du kan ringa Windows API (application programming interface) till en Microsoft Windows-DLL (dynamic link library) att hämta aktuellt användarnamn. Den aktuella användarens namnet kan erhållas med hjälp av funktionen GetUserNameA i ADVAPI32. DLL.
Mer information
Microsoft Excel har inbyggd funktionalitet för att komma åt datorns aktuella användarnamn. Du kan dock använda Declare-sats i en Visual Basic for Applications-makro för att anropa en Microsoft Windows-funktion som returnerar den aktuella användarens namnet. Microsoft ger exempel på Visual Basic for Applications-procedurer endast utan garanti varken uttryckliga eller underförstådda, inklusive men inte begränsat till underförstådda garantier om säljbarhet eller lämplighet för ett särskilt ändamål. Visual Basic-procedurer i denna artikel tillhandahålls ”i befintligt skick” och Microsoft garanterar inte att de kan användas i alla situationer. När Microsofts supporttekniker kan hjälpa till att förklara funktionen hos en viss makro, kan inte ändra dessa exempel för att ge ytterligare funktioner eller kommer de hjälpa dig att konstruera makron så att de passar dina behov. Om du har begränsad programmeringserfarenhet kan du kontakta en Microsoft Solution Providers. Solution Providers erbjuder ett stort antal avgiftsbelagda tjänster, bland annat hur du skapar anpassade makron. Mer information om Microsoft Solution Providers ringa Microsoft Information kundtjänst på (800) 426-9400.
EXEMPEL
-
Skriv följande kod i en ny modul:
' 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
-
Köra makrot Get_User_Name. Observera att användarnamnet på aktuella visas i en meddelanderuta.