VBA - Windows和OSX中的用户名

1 windows macos vba cross-platform excel-vba

我正在编写VBA代码来收集来自几个xlsx文件的输入,并将它们组合成一个主表.由于此工作表的用户是混合Windows和OSX用户,因此我的代码需要在两个平台上都是通用的.

我想要实现的一件事是确定用户的用户名.这可以environ("username")在Windows和MacScriptOSX上使用.但是,下面的代码无法在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)
Run Code Online (Sandbox Code Playgroud)

其他

   USERNAME = Environ("UserName")
Run Code Online (Sandbox Code Playgroud)

万一

我怎么能绕过这个?

Ror*_*ory 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
Run Code Online (Sandbox Code Playgroud)