Procedura języka Visual Basic do pobierania bieżącej nazwy użytkownika


Podsumowanie


Aby uzyskać aktualną nazwę użytkownika, można utworzyć połączenie interfejsu API systemu Windows (interfejsu programowania aplikacji) z biblioteką DLL systemu Microsoft Windows (biblioteki dołączanej dynamicznie). Nazwę bieżącego użytkownika można uzyskać przy użyciu funkcji GetUserName w ADVAPI32. Bibliotekę.

Więcej informacji


Program Microsoft Excel nie zawiera wbudowanych funkcji umożliwiających uzyskanie dostępu do bieżącej nazwy użytkownika komputera. Można jednak użyć instrukcji DECLARE w makrze języka Visual Basic for Applications, aby zadzwonić do funkcji systemu Microsoft Windows, która zwróci nazwę bieżącego użytkownika. Firma Microsoft podaje przykłady procedur języka Visual Basic for Applications tylko do celów ilustracyjnych, bez żadnych gwarancji wyrażonych lub domniemanych, w tym, ale nie ogranicza się do domniemanych gwarancji dotyczących przydatności handlowej i/lub przydatności do określonego celu. Procedury języka Visual Basic zawarte w tym artykule są podane "tak jak jest", a firma Microsoft nie gwarantuje, że mogą być używane we wszystkich sytuacjach. Pracownicy pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu funkcji konkretnego makra, ale nie będą modyfikować tych przykładów w celu wprowadzenia dodatkowych funkcji, a także nie będą mogli tworzyć makr w celu zaspokojenia określonych potrzeb. Jeśli masz ograniczone środowisko programistyczne, możesz skorzystać z jednego z dostawców rozwiązań firmy Microsoft. Dostawcy rozwiązań oferują szeroki zakres usług opartych na opłatach, w tym tworzenie niestandardowych makr. Aby uzyskać więcej informacji o dostawcach rozwiązań firmy Microsoft, zadzwoń do usługi Microsoft Customer Information Service pod adresem (800) 426-9400.

Przykłady

  1. Wpisz następujący kod w nowym module:
        ' 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. Uruchom makro Get_User_Name. Pamiętaj, że nazwa bieżącego użytkownika zostanie wyświetlona w oknie komunikatu.