MS VBA | Получить Windows Login

Private Declare Function apiGetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

 

Код простой функции (apiUserName()), которая возвратит имя пользователя домена:

 

Function apiUserName() As String

'Returns the computername

Dim lngLen As Long, lngX As Long

Dim strCompName As String

   lngLen = 16

   strCompName = String$(lngLen, 0)

   lngX = GetUserName(strCompName, lngLen)

  If lngX <> 0 Then

       apiUserName = Left$(strCompName, lngLen)

  Else

       apiUserName = ""

  End If

End Function

 

Другой вариант, возвратит результат:

 

Public Property Get UserName()

Dim strName As String * 21, lngSize As Long

UserName = Null: lngSize = 21

If GetUserName (strName, lngSize) Then UserName = Left$(strName, lngSize - 1) _

Else MsgBox "xxx"

End Property 

 



© 2018 | Анна Петросян | pashelp@yandex.ru