Excel VBA получить (уникальный) идентификатор Excel-пользователя - PullRequest
0 голосов
/ 18 мая 2018

В настоящее время я ищу способ идентифицировать пользователя рабочей книги - предпочтительно путем подключения к некоторой информации об учетной записи из Microsoft Excel.Я нашел следующую строку, которая получает имя пользователя Excel:

Application.UserName

Однако это не совсем "безопасно" (уникально). Достаточно, поскольку я хочу убедиться, что только одинчеловек / пользователь может использовать рабочую книгу.Это просто, просто измените имя пользователя в Excel.

Можно ли получить какую-либо другую информацию об учетной записи?Я предпочел бы электронную почту, используемую с учетной записью office / Excel, однако некоторые другие ответы говорят, что, вероятно, невозможно получить это значение (??).

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Я потратил некоторое время, чтобы найти, как отправить электронное письмо на учетную запись отправителя (для самостоятельных уведомлений), и нашел ответ, и экспериментировал, и изучал еще кое-что, пока не обнаружил, что следующее работает для моих целей.:

Outlook.Application.Session.CurrentUser.Address

Этот ответ рекомендует Application.Session.CurrentUser.AddressEntry.Address

Однако, если вы используете раннее связывание в своем коде, вам необходимо добавить ссылку наMicrosoft Outlook [version#] Object Library.


Также обратите внимание, что приведенное выше не возвращает значение, которое можно сравнить с жестко закодированным или введенным значением в стандартной электронной почтеформат, то есть «myname@account.com».


Однако , для настройки моего Outlook, я могу получить доступ к своему адресу электронной почты в виде строки через:

outlookApp.Session.Accounts(1).DisplayName

Однако я предупрежу, что я также читал о случаях, когда это давало неожиданное значение.Он также основан на перечисленной первой учетной записи;которая не всегда может быть учетной записью для CurrentUser, в зависимости (от?).

0 голосов
/ 18 мая 2018

Под «безопасным» вы подразумеваете уникальный?Попробуйте

Environ("username")

Имя пользователя приложения - это имя пользователя, установленное в Инструменты Excel> Параметры

Environ ("имя пользователя") - это имя пользователя, с которым вы входите в Windows.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...