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 文件导入 MS Access 2010 表
excel数据分析线性回归中MS,SS,F,DF分别是啥意思