我正在编写VBA代码来收集来自多个xlsx文件的输入,并将它们组合成一个主表。由于此工作表的用户是混合Windows和OSX用户,因此我的代码需要在两个平台上都是通用的。
我想要实现的一件事是确定用户的用户名。这可以使用Windows上的environ("username")
和OSX上的MacScript
来完成。但是,下面的代码无法在Mac上编译,因为它不知道environ()
。
OS_IS_MAC = Application.OperatingSystem Like "*Mac*" If OS_IS_MAC Then sMyScript = "set userName to short user name of (system info)" & vbNewLine & "return userName" USERNAME = MacScript(sMyScript)
否则
USERNAME = Environ("UserName")
结束如果
我怎样才能解决这个问题?
答案 0 :(得分:5)
使用条件编译:
#If Mac Then
sMyScript = "set userName to short user name of (system info)" & vbNewLine & "return userName"
USERNAME = MacScript(sMyScript)
#Else
USERNAME = Environ("UserName")
#End If
答案 1 :(得分:0)
其中一个可能更简单:
USERNAME = Environ("USER")
或
USERNAME = Environ("LOGNAME")
他们按照Mac上的显示工作。