1 votos

¿Por qué es diferente cómo inicio una aplicación de Excel VBA en Mac OS?

Tengo Office 365 en una PC con Windows 11 y en un Mac Mini con Sonoma. Ambas versiones de Office están actualizadas. Desarrollo una aplicación de Excel VBA en Windows. Después de probar minuciosamente, copio el archivo .xlsm a través de OneDrive al Mac para probar allí. He estado haciendo esto durante varios años con la misma aplicación, y he pasado por muchas rondas de pruebas en Windows y Mac. Pero algo parece haber cambiado recientemente.

Hoy, ejecuté la aplicación en el Mac de la manera habitual haciendo doble clic en el archivo .xlsm que acababa de traer de la PC. La aplicación se detuvo con un error de desbordamiento. En el Depurador, esta instrucción de asignación fue señalada:

Dim i as Integer
i = 77

Obviamente esto no debería producir un desbordamiento. Pude ejecutar la línea sin generar un error al paso único en el depurador. Pero cuando dejé que el programa continuara ejecutándose, se detuvo con un desbordamiento en alguna otra asignación trivial. Misma historia: al paso único en el depurador no genera el error.

Decidí intentar lanzar Excel de una manera diferente. En Finder, fui a Aplicaciones y hice doble clic en Excel.app. En la ventana Abrir, seleccioné mi archivo .xlsm. Ahora la aplicación se ejecutó sin problemas. Para asegurarme de que no fuera una casualidad, realicé la prueba varias veces de esta manera y funcionó cada vez.

Mi pregunta es la siguiente: En un Mac, ¿cuál es la diferencia entre (1) hacer doble clic en un archivo .xlsm y (2) ejecutar Excel.app y luego seleccionar el archivo .xlsm en la ventana Abrir?

john@Johns-Mac-mini ~ % ls -dleO@ /Users/john/Desktop/BTNS\ System\ Testing\ -\ Mac/March\ 2\,\ 2024/Process\ Profiler-129.xlsm
-rw-rw----@ 1 john  staff  - 308577 Mar  2 15:47 /Users/john/Desktop/BTNS System Testing - Mac/March 2, 2024/Process Profiler-129.xlsm
    com.apple.FinderInfo        32 
    com.apple.lastuseddate#PS       16 
    com.apple.macl      72 
    com.apple.quarantine        30

0voto

Por varias razones, macOS establece un atributo de cuarentena para los archivos cargados a través de Internet. Esto evita que dichos archivos se ejecuten directamente.

Para solucionar

  • abre Terminal
  • escribe xattr -d com.apple.quarantine seguido de un espacio
  • arrastra el archivo en cuestión a la ventana de Terminal
  • pulsa Enter

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X