Visual Basic-prosedyre for å få gjeldende brukernavn


Sammendrag


Du kan ringe Windows API (application programming interface) til en Microsoft Windows-DLL (dynamic link library) til å hente gjeldende brukernavn. Gjeldende brukernavn kan oppnås ved hjelp av funksjonen GetUserNameA i ADVAPI32. DLL.

Mer informasjon


Microsoft Excel har ikke innebygd funksjonalitet for å få tilgang til datamaskinens gjeldende brukernavn. Du kan imidlertid bruke Declare-setning i en Visual Basic for Applications-makro til å kalle en Microsoft Windows-funksjon som returnerer gjeldende brukernavn. Microsoft gir eksempler på Visual Basic for Applications-prosedyrer kun uten garanti enten direkte eller indirekte, herunder, men ikke begrenset til, stilltiende garantier om salgbarhet og anvendelighet for særskilte formål. Visual Basic-prosedyrene i denne artikkelen leveres "som den er", og Microsoft garanterer ikke at de kan brukes i alle situasjoner. Mens Microsoft-teknikere kan hjelpe deg med å forklare funksjonaliteten til en bestemt makro, de endrer ikke disse eksemplene for å gi ekstra funksjonalitet, og de hjelper deg med å lage makroer for å dekke dine spesielle behov. Hvis du har begrenset erfaring med programmering, bør du kontakte en av Microsoft Solution Providers. Løsningsleverandører tilbyr en lang rekke avgiftsbaserte tjenester, inkludert hvordan du oppretter egendefinerte makroer. Hvis du vil ha mer informasjon om Microsoft Solution Providers, kan du ringe Microsofts kundestøtteavdeling informasjon på (800) 426-9400.

EKSEMPEL

  1. Skriv inn følgende kode 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
  2. Kjør makroen Get_User_Name. Legg merke til at gjeldende brukernavn vises i en meldingsboks.