ms excel 2010 中用于获取环境变量用户名的用户定义函数不起作用

Posted

技术标签:

【中文标题】ms excel 2010 中用于获取环境变量用户名的用户定义函数不起作用【英文标题】:User defined function in ms excel 2010 for fetching environ variable user name does not work 【发布时间】:2016-05-13 02:58:10 【问题描述】:

我在 ms excel 2010 中创建了一个用户定义的函数,用于通过环境变量“USERNAME”获取当前登录的用户。

但是,在一些win7上运行ms excel2010的机器上,这个功能不会更新当前用户名。

我已将其打包在受保护的工作表中并分发给多个用户。

udf 代码是这样的: 公共函数用户名() 用户名 = Environ$("用户名") 结束函数

然后使用公式调用函数:

=用户名()

【问题讨论】:

欢迎来到 SO!请贴出Function的代码 【参考方案1】:

考虑:

Public Function WhoAmI() As String
   Application.Volatile
   WhoAmI = "The NT Logon User is " & Environ("username")
   WhoAmI = WhoAmI & vbCrLf & "The Office Username is " & Application.UserName
End Function

应该可以在任何 Windows 系统上工作。

【讨论】:

我不需要应用程序用户名。我只需要 Windows 用户名。所以我可以跳过 application.username 部分。另外,application.volatile 有什么作用。 @user3305648 您可以省略不需要的部分......Application.Volatile 在其他用户打开工作簿时强制重新计算。 谢谢。据我了解, application.recalculate 仅在工作簿中的任何单元格发生更改时才起作用。当其他用户打开工作簿时它也会更新。

以上是关于ms excel 2010 中用于获取环境变量用户名的用户定义函数不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Excel 2010 双变量运行时错误 16

自动将不同的 Excel 文件导入 MS Access 2010 表

excel数据分析线性回归中MS,SS,F,DF分别是啥意思

如何(如果可能)从 VBA Excel 2010 的工作表中定义和填充全局数组变量?

MS 访问查询未在 Excel 中正确运行

Python的excel2img软件包不适用于MS Office 2016