Los activadores permiten que Apps Script ejecute una función automáticamente cuando se produce un evento determinado, como abrir un documento. Los activadores simples son un conjunto de funciones reservadas integradas en Apps Script, como la función onOpen(e)
, que se ejecuta cuando un usuario abre un archivo de Documentos, Hojas de cálculo, Presentaciones o Formularios de Google.
Los activadores instalables ofrecen más capacidades que los activadores simples, pero deben activarse antes de usarlos. Para ambos tipos de activadores, Apps Script pasa a la función activada un objeto de evento que contiene información sobre el contexto en el que ocurrió el evento.
Primeros pasos
Para usar un activador simple, simplemente crea una función que use uno de estos nombres de funciones reservadas:
onOpen(e)
se ejecuta cuando un usuario abre una hoja de cálculo, un documento, una presentación o un formulario que tiene permiso para editar.onInstall(e)
se ejecuta cuando un usuario instala un complemento de editor desde Documentos, Hojas de cálculo, Presentaciones o Formularios de Google.onEdit(e)
se ejecuta cuando un usuario cambia un valor en una hoja de cálculo.onSelectionChange(e)
se ejecuta cuando un usuario cambia la selección en una hoja de cálculo.doGet(e)
se ejecuta cuando un usuario visita una aplicación web o un programa envía una solicitudGET
de HTTP a una aplicación web.doPost(e)
se ejecuta cuando un programa envía una solicitudPOST
HTTP a una app web.
El parámetro e
en los nombres de funciones anteriores es un objeto de evento que se pasa a la función. El objeto contiene información sobre el contexto que provocó la activación del activador, pero su uso es opcional.
Restricciones
Debido a que los activadores simples se activan automáticamente, sin solicitar autorización al usuario, están sujetos a varias restricciones:
- La secuencia de comandos debe estar vinculada a un archivo de Hojas de cálculo, Presentaciones, Documentos o Formularios de Google, o bien debe ser un complemento que extienda una de esas aplicaciones.
- No se ejecutan si un archivo está abierto en modo de solo lectura (ver o comentar).
- Las ejecuciones de secuencias de comandos y las solicitudes a la API no provocan la ejecución de los activadores. Por ejemplo, llamar a
Range.setValue()
para editar una celda no hace que se ejecute el activadoronEdit
de la hoja de cálculo. - No pueden acceder a los servicios que requieren autorización. Por ejemplo, un activador simple no puede enviar un correo electrónico porque el servicio de Gmail requiere autorización, pero un activador simple puede traducir una frase con el servicio de lenguaje, que es anónimo.
- Puede modificar el archivo al que está vinculada, pero no puede acceder a otros archivos, ya que eso requeriría autorización.
- Pueden o no determinar la identidad del usuario actual según un conjunto complejo de restricciones de seguridad.
- No se pueden ejecutar durante más de 30 segundos.
- En ciertas circunstancias, los complementos de Editor ejecutan sus activadores simples
onOpen(e)
yonEdit(e)
en un modo sin autorización que presenta algunas complicaciones adicionales. Para obtener más información, consulta la guía del ciclo de vida de autorización del complemento. - Los activadores simples están sujetos a los límites de cuota de los activadores de Apps Script.
Estas restricciones no se aplican a doGet(e)
ni doPost(e)
.
onOpen(e)
El activador onOpen(e)
se ejecuta automáticamente cuando un usuario abre una hoja de cálculo, un documento, una presentación o un formulario que tiene permiso para editar. (El activador no se ejecuta cuando se responde un formulario, sino cuando se abre el formulario para editarlo). Por lo general, onOpen(e)
se usa para agregar elementos de menú personalizados a Hojas de cálculo, Presentaciones, Documentos o Formularios de Google.
onInstall(e)
El activador onInstall(e)
se ejecuta automáticamente cuando un usuario instala un complemento de editor desde Documentos, Hojas de cálculo, Presentaciones o Formularios de Google. El activador no se ejecutará cuando un usuario instale el complemento desde el sitio web de Google Workspace Marketplace. Ten en cuenta que existen ciertas restricciones sobre lo que puede hacer onInstall(e)
. Obtén más información sobre la autorización.
El uso más común de onInstall(e)
es simplemente llamar a onOpen(e)
para agregar menús personalizados. Después de todo, cuando se instala un complemento, el archivo ya está abierto y, por lo tanto, onOpen(e)
no se ejecuta por sí solo, a menos que se vuelva a abrir.
onEdit(e)
El activador onEdit(e)
se ejecuta automáticamente cuando un usuario cambia el valor de cualquier celda de una hoja de cálculo. La mayoría de los activadores onEdit(e)
usan la información del objeto de evento para responder de manera adecuada.
Por ejemplo, la función onEdit(e)
a continuación establece un comentario en la celda que registra la última vez que se editó.
onSelectionChange(e)
El activador onSelectionChange(e)
se ejecuta de forma automática cuando un usuario cambia la selección en una hoja de cálculo. Para activar este activador, debes actualizar la hoja de cálculo una vez que se agregue el activador y cada vez que se abra la hoja de cálculo.
Si la selección se mueve entre varias celdas en poco tiempo, es posible que se omitan algunos eventos de cambio de selección para reducir la latencia. Por ejemplo, si muchos cambios de selección se realizan dentro de los dos segundos posteriores, solo el primero y el último cambio de activación activarán el activador onSelectionChange(e)
.
En el siguiente ejemplo, si seleccionas una celda vacía, la función onSelectionChange(e)
establece el fondo de la celda en rojo.
doGet(e)
y doPost(e)
El activador doGet(e)
se ejecuta de forma automática cuando un usuario visita una aplicación web o un programa envía una solicitud HTTP GET
a una aplicación web. doPost(e)
se ejecuta cuando un programa envía una solicitud POST
HTTP a una aplicación web. Estos activadores se muestran más en las guías para aplicaciones web, servicios HTML y servicio de contenido. Ten en cuenta que doGet(e)
y doPost(e)
no están sujetos a las restricciones que se mencionaron anteriormente.
Tipos de activadores disponibles
Si las restricciones de los activadores simples impiden que satisfagan tus necesidades, es posible que un activador instalable funcione. En la siguiente tabla, se resumen los tipos de activadores disponibles para cada tipo de evento. Por ejemplo, Hojas de cálculo, Presentaciones, Formularios y Documentos de Google admiten activadores abiertos sencillos, pero solo Hojas de cálculo, Documentos y Formularios admiten activadores abiertos instalables.
Evento | Activadores sencillos | Activadores instalables |
---|---|---|
Abrir |
![]() ![]() ![]() ![]()
|
![]() ![]() ![]() |
Editar |
![]()
|
![]() |
Cambio de selección |
![]()
|
|
Instalar |
![]() ![]() ![]() ![]()
|
|
Cambiar |
![]() |
|
Envío de formulario |
![]() ![]() |
|
En función del tiempo (reloj) |
![]() ![]() ![]() ![]() ![]() ![]() |
|
Obtener |
![]() ![]()
|
|
de Comunidad |
![]() ![]()
|
* El evento abierto para Formularios de Google no se produce cuando un usuario abre un formulario para responder, sino cuando un editor lo abre para modificarlo.