Tengo una hoja de Google que incluye un script que debe ejecutarse al hacer clic en un botón. La forma recomendada de hacer esto (por lo que puedo decir) es insertar una imagen y luego adjuntar un script a la imagen en cuestión.
Esto funciona bien siempre que abra la hoja en mi escritorio. Sin embargo, si abro la hoja en la aplicación de hoja de Android de Google, la imagen simplemente no aparece. Por lo que puedo decir, este (falta de) comportamiento no está documentado en ninguna parte, pero he encontrado a varias personas con el mismo problema.
Me preguntaba cómo eludir este problema. ¿Perdí algo obvio que hará que mis imágenes sean visibles en la aplicación de Android? ¿O hay otra forma simple de agregar un activador de script a una hoja que funcionará en dispositivos móviles?
Respuestas:
Parece que actualmente ni las imágenes ni los elementos de menú personalizados funcionan en la aplicación Sheets de Android. Sugiero crear un "menú de funciones" dentro de la hoja de cálculo. Por ejemplo:
onEdit
(disparador simple), que se ejecuta en cada edición, verifica si el contenido de B1 ha cambiado. Si es así, ejecuta la función apropiada.Aquí está mi código, con dos funciones incluidas con fines de demostración:
La condición
/^\w+$/.test(e.value)
es solo para verificar que tenemos una cadena no vacía y no estamos ejecutando código malicioso que alguien de alguna manera puso en la celda B1. Después de que la función se invoca conthis[e.value]();
(sethis
refiere al objeto global y contiene nombres de funciones), el contenido de B1 se borra. Uno puede elegir ejecutar la misma función nuevamente u otra.Como prueba de concepto, aquí hay capturas de pantalla de la aplicación. Captura de pantalla 1: selección de una función
Captura de pantalla 2: después de que la función se haya ejecutado
Referencias
fuente
onEdit
activador simple a uno instalable, que se ejecuta con la autorización del usuario que instaló el activador.