Чтобы получить полное имя пользователя в Windows, можно использовать функцию UserFullName:
Sub ПримерИспользованияUserFullName() ПолноеИмяПользователяWindows = WMI_UserFullName MsgBox ПолноеИмяПользователяWindows End Sub
Данная функция использует интерфейс WMI для получения необходимых данных.
Function WMI_UserFullName() As String login$ = CreateObject("WScript.Network").UserName ' читаем логин текущего пользователя Set objWMIService = GetObject("winmgmts://./root/CIMV2") Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_UserAccount", , 48) For Each objItem In colItems ' перебираем все учётные записи If objItem.Name = login$ Then WMI_UserFullName = objItem.FullName Next End Function
Посмотреть список всех учётных записей пользователей на компьютере можно следующим кодом:
Sub WMI_username() Set objWMIService = GetObject("winmgmts://./root/CIMV2") Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_UserAccount", , 48) For Each objItem In colItems Debug.Print "FullName: " & objItem.FullName Next End Sub