Как получить адрес электронной почты зарегистрированного пользователя в Excel - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь получить адрес электронной почты через Excel VBA текущего пользователя (НЕ использующего Outlook).

Я могу получить

Application.UserName

, но этого недостаточно.

Есть адрес электронной почты в Excel -> Файл -> Учетная запись в разделе «Принадлежит: Mail@address.com»

Есть ли способ извлечь его с помощью VBA?

Ответы [ 2 ]

1 голос
/ 03 августа 2020

Боюсь, что без Outlook это невозможно ... Если у обсуждаемого пользователя установлен и настроен Outlook, вы можете получить его с помощью следующего кода. Коду нужна ссылка на «Microsoft Outlook ... Object Library»:

Sub ActiveUserMailAddress()
  Dim objOutlook As New Outlook.Application
  Debug.Print objOutlook.GetNamespace("MAPI").CurrentUser.Address
End Sub

Чтобы добавить ссылку: Находится в VBE, go Инструменты -> Ссылки ... -> прокрутите вниз, пока не увидите рекомендованную выше ссылку, проверьте ее и нажмите OK.

0 голосов
/ 03 августа 2020

Я нашел изящное решение. Может не гарантировать пользователя excel, но мне подходит идеально.

Sub getUserMail()
    Debug.Print CreateObject("WScript.Shell").RegRead("HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\Identity\ADUserName")
End Sub

Кредит @Storax за ключ реестра и этот ответ, как легко читать реестр. Чтение и запись из / в реестр в VBA

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