Имя пользователя при работе с Excel

При разработке скриптов для тех или иных задач, иногда программе требуется получить информацию о пользователе из ActiveDirectrory, который в данный момент эту программму запустил.

Например, запустив xls файл под учетной записью Петрова, мы можем исправлять только те строки где ответственным стоит Петров.

Напишем функцию VBA которая выдает полное ФИО сотрудника, на чьем компьютере запущена программа

 

Dim objAD, objUser As Object

Public Function UserName()

    Set objAD = CreateObject("ADSystemInfo")

    Set objUser = GetObject("LDAP://" & objAD.UserName)

    UserName = objUser.DisplayName

End Function

 

Вместо аттрибута DisplayName в строке UserName = objUser.DisplayName мы можем написать любой другой, который нам надо получить. Электронный адрес, номер кабинета, должность и так далее. Аттрибутов достаточно много и более полный список представлен в материале Карточка сотрудника Active Directory через Excel

 

Поиск по сайту