Dieses Makro liest den UserName (Benutzernamen) des eingeloggten Benutzers aus. Dies ist für Dateien/Programme interessant, die nur für bestimmte Benutzer freigegeben werden sollen. Damit lässt sich eine Benutzerverwaltung realisieren, welche abhängig vom angemeldeten Benutzer einzelne Programmfunktionen freischaltet bzw. sperrt.
Da die Anmeldung am Windows-Rechner durch einen ausgeklügelten Sicherheitsmechanismus als relativ sicher gilt, ist diese Art der Benutzerverwaltung sehr empfehlenswert.
Kopieren Sie den nachfolgenden Code in ein Standard-Module.
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Sub ShowUserName() '** Dimensionierung der Variablen Dim Buffer As String * 100 Dim BuffLen As Long, strUserName$ '** Auslesen des Benuterznamens BuffLen = 100 GetUserName Buffer, BuffLen strUserName = Left(Buffer, BuffLen - 1) '** Ausgabe über eine MsgBox MsgBox "Benutzername: " & strUserName End Sub
Wenn Sie den Code ausführen, wird der Username über eine Message-Bog ausgegeben, siehe Abbildung:
Den so ausgelesenen Benutzernamen können Sie dann entsprechend in der weiterführenden Programmierung verwenden.
Eine Formel-Lösung zum Auslesen des Benutzernamens finden Sie in dem folgenden Artikel:
Benutzernamen (User-Name) per Formel auslesen