繁体   English   中英

VBA-Windows和OSX中的用户名

[英]VBA - username in both Windows and OSX

我正在编写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") 

万一

我该如何解决?

使用条件编译:

#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

其中之一可能更简单:

USERNAME = Environ("USER")

要么

USERNAME = Environ("LOGNAME")

它们的工作方式如Mac上所示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM