visual name macos vba excel-vba excel-2010 username

macos - visual - vba user name



VBA Get Username en OSX(o Mac alternativa a Environ("username")) (2)

Environ("USER") y Environ("LOGNAME") devuelven lo mismo en Mac que MacScript.

Mi tarea ha sido crear un libro de Excel seguro (versión de Windows) que use macros para validar si un usuario tiene permiso para ver los contenidos. En Excel 2010 para Windows, utilizo la función Environ("username") para lograr esto.

El problema al que me estoy enfrentando es que algunos usuarios de la organización usan una Mac para hacer su trabajo diario, y Environ no funciona con OSX.

¿Alguien sabe de una manera alternativa de encontrar el nombre de usuario de una Mac? He buscado en línea, pero todo lo que puedo encontrar es cómo encontrar el identificador único de la computadora, no el nombre de usuario.

¿Es lo que intento hacer incluso con Mac?

¡Cualquier información es apreciada!


Puede usar AppleScript para devolver el nombre de usuario y ejecutarlo desde VBA.

La siguiente función debería hacer el truco.

Function GetUserNameMac() As String Dim sMyScript As String sMyScript = "set userName to short user name of (system info)" & vbNewLine & "return userName" GetUserNameMac = MacScript(sMyScript) End Function