Wie kann ich den aktuell angemeldeten windows-Benutzer in Access VBA?
Fand ich über google: http://www.mvps.org/access/api/api0008.htm
'******************** Code Start **************************
' This code was originally written by Dev Ashish.
' It is not to be altered or distributed,
' except as part of an application.
' You are free to use it in any application,
' provided the copyright notice is left unchanged.
'
' Code Courtesy of
' Dev Ashish
'
Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Function fOSUserName() As String
' Returns the network login name
Dim lngLen As Long, lngX As Long
Dim strUserName As String
strUserName = String$(254, 0)
lngLen = 255
lngX = apiGetUserName(strUserName, lngLen)
If ( lngX > 0 ) Then
fOSUserName = Left$(strUserName, lngLen - 1)
Else
fOSUserName = vbNullString
End If
End Function
'******************** Code End **************************
Ist dies der beste Weg, es zu tun?
- Ich habe versucht, zu reproduzieren genannten Schritte here(Antwort von ken), aber ich war nicht in der Lage, eine änderung der Environ-Objekt. Der einzige Weg, dies zu tun, gerade in VBA ist dann die vorgeschlagenen here(Antwort von knox) und ich kann nicht verstehen, warum diese Antwort wurde herabgestuft!
- Diese Frage ist fast exakte Kopie von stackoverflow.com/questions/9052/...
- Möglich, Duplikat der gibt es eine Möglichkeit für MS Access zu greifen, die aktuelle Active Directory-Benutzer?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Konnte man auch mit Environ$, aber die Methode angegeben die Frage ist besser. Benutzer/Anwendungen ändern können, die environment-Variablen.
Könnte man dies auch tun:
Es hat auch eine Eigenschaft UserDomain und ein paar andere Dinge:
http://msdn.microsoft.com/en-us/library/907chf30(VS.85).aspx
Ich verwende in der Regel eine Umgebung aus in VBA, wie in den folgenden. Ich hatte noch nicht die Probleme, dass Ken nennt als Möglichkeiten.
Viele alternative Methoden in anderen posts, aber um die Frage zu beantworten: ja, das ist der beste Weg, es zu tun. Schneller als das erstellen eines COM-Objekts oder der WMI-wenn alle Sie wollen, ist der username, und in allen Windows-Versionen von Win95 bis.
Alternative zu tun, dass - vermutlich die API, die Sie erwähnen, ist ein besserer Weg, um Benutzernamen.
es gibt viele Weg, um den aktuell angemeldeten Benutzernamen in der WMI.
mein Weg ist, um es durch den Benutzernamen vom Prozess der 'explorer.exe'
weil, wenn der Benutzer die login-in Fenster, die Zugang zu dieser Datei nach den aktuellen Benutzer.
WMI-Skript würde so Aussehen:
weitere detailcheck der link auf :
http://msdn.microsoft.com/en-us/library/aa394599%28v=vs.85%29.aspx