簡體   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