Application.UserName
Добавлено: 21 ноя 2008, 13:51
Давно хотел заметить, да руки не доходили:
Application.UserName
возвращает имя пользователя EXCEL заданное в диалоге Сервис-Параметры->Общие->Имя пользователя. По другому это же имя можно получить опредилив по Ctrl-F3 пользовательсое имя со значением =GET.WORKSPACE(26)
НО ЭТО НЕ ИМЯ ПОЛЬЗОВАТЕЛЯ ЗАЛОГИНЕНОГО В ДАННЫЙ МОМЕНТ НА ЭТОМ КОМПЬЮТЕРЕ!
Последнее можно получить используя код вроде следующего
Далее следует пример Роберта Брюса (Robert Bruce), опубликованный 30.11.1998 http://groups.google.co.uk/groups?threa ... rcon.co.uk
Ссылки по теме:
http://support.microsoft.com/default.as ... us;Q290528
http://groups.google.com/groups?selm=VA ... %40msn.com
Так же полезно посмотреть:
http://www.mvps.org/dmcritchie/excel/userid.htm
Application.UserName
возвращает имя пользователя EXCEL заданное в диалоге Сервис-Параметры->Общие->Имя пользователя. По другому это же имя можно получить опредилив по Ctrl-F3 пользовательсое имя со значением =GET.WORKSPACE(26)
НО ЭТО НЕ ИМЯ ПОЛЬЗОВАТЕЛЯ ЗАЛОГИНЕНОГО В ДАННЫЙ МОМЕНТ НА ЭТОМ КОМПЬЮТЕРЕ!
Последнее можно получить используя код вроде следующего
Далее следует пример Роберта Брюса (Robert Bruce), опубликованный 30.11.1998 http://groups.google.co.uk/groups?threa ... rcon.co.uk
Код: Выделить всё
Option Compare Database 'For Access VBA
Option Explicit
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 = ""
End If
End Function
Ссылки по теме:
http://support.microsoft.com/default.as ... us;Q290528
http://groups.google.com/groups?selm=VA ... %40msn.com
Так же полезно посмотреть:
http://www.mvps.org/dmcritchie/excel/userid.htm