Hier noch zwei Varianten. Wobei du mE vor der langen Variante keine Angst haben musst. Der COde nutzt nur API Funktionen. Für die ist eine Menge an Voreinstellunge notwendig. Und die eigentlich Funktion braucht da viele Parameter, die vorher ausgelesen wurden. Die beiden Versionen hier haben bei mir auch geklappt.
http://www.mrexcel.com/forum/excel-questions/347229-visual-basic-applications-how-do-i-get-full-user-name-not-login-id.htmlSub GetUserFullName2()
Set WSHnet = CreateObject("WScript.Network")
username = WSHnet.username
UserDomain = WSHnet.UserDomain
Set objUser = GetObject("WinNT://" & UserDomain & "/" & username & ",user")
UserFullName = objUser.FullName
MsgBox "User Full Name: " & vbCrLf & vbCrLf & UserFullName, vbInformation, "User Full Name .... (Haluk ®)"
End Sub
Oder das hier noch!
Das liest wohl im Active Directory - gab bei mir aber nicht alle Namen aus.
Quelle: http://www.office-loesung.de/ftopic576007_0_0_asc.php
sub name2()
anmeldename = Environ("USERNAME")
Set my_AD = CreateObject("ADSystemInfo")
user_info = "LDAP://" & my_AD.UserName
For i = 1 To Len(user_info)
If Mid$(user_info, i, 2) = "CN" Then
For t = i + 3 To Len(user_info)
If Mid$(user_info, t, 1) = "," Then
u_name = Mid$(user_info, i + 3, t - i - 3)
Exit For
End If
Next t
Exit For
End If
Next i
MsgBox (anmeldename & Chr(13) & u_name)
end sub
|