Excel VBA获取excel-user的(唯一)ID

时间:2018-05-18 18:32:09

标签: excel-vba vba excel

我目前正在寻找一种识别工作簿用户的方法 - 最好是通过挂钩来自Microsoft Excel的某些帐户信息。我找到了以下获取Excel用户名的行:

Application.UserName

然而,这不是很“安全”(独特)足够我希望确保只有一个人/用户可以使用该工作簿。这很容易只需更改excel中的用户名。

是否可以获取其他帐户信息?我更喜欢办公室/ Excel帐户使用的电子邮件,但是其他一些答案说可能无法获得该值(??)。

2 个答案:

答案 0 :(得分:0)

“安全”你的意思是独一无二的?试试

Environ("username")

应用程序用户名是Excel工具>选项

中设置的用户名

Environ(“username”)是您使用。

登录Windows的用户名

答案 1 :(得分:0)

我花了一些时间查找如何向发送帐户发送电子邮件(用于自我通知),找到答案,进行实验,并进一步探索,直到我发现以下内容适用于我的目的:

Outlook.Application.Session.CurrentUser.Address

This answer建议Application.Session.CurrentUser.AddressEntry.Address

但是,如果您在代码中使用早期绑定,则需要添加对Microsoft Outlook [version#] Object Library的引用。

,请注意上述内容不会返回可与标准电子邮件格式的硬编码或输入值进行比较的值,即“myname@account.com”

但是,对于我的Outlook设置方式,我可以通过以下方式访问我的电子邮件地址:

outlookApp.Session.Accounts(1).DisplayName

但是,我会提醒我,我还读过这个时候给出了意想不到的价值。它也是基于第一个帐户列出的;这可能并不总是CurrentUser的帐户,取决于(在?上)。