UserName ermitteln

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