Hojas de cálculo de Google te permite registrar macros que duplican una serie específica de interacciones de la IU que definas. Una vez que hayas grabado una macro, puedes vincularla a una combinación de teclas con el formato Ctrl+Alt+Shift+Number
. Puedes usar esa combinación de teclas para volver a ejecutar con rapidez los pasos exactos de la macro de nuevo, por lo general, en un lugar diferente o con datos diferentes.
También puedes activar la macro desde el menú Extensiones de Hojas de cálculo de Google > Macros.
Cuando grabas una macro, Hojas de cálculo de Google crea automáticamente una función de Apps Script (la función de macro) que replica los pasos de la macro. La función de macro
se agrega a un proyecto de Apps Script vinculado
a la hoja de cálculo, en un archivo llamado macros.gs
. En el caso de que ya haya un archivo de proyecto vinculado a la hoja con ese nombre, se agregará la función macro. Hojas de cálculo de Google también actualiza automáticamente el manifiesto del proyecto de secuencia de comandos y registra el nombre y la combinación de teclas asignados a la macro.
Dado que cada macro grabada se define por completo dentro de Apps Script, puedes editarlas directamente en el editor de Apps Script. Incluso puedes escribir macros desde cero en Apps Script o tomar funciones que ya escribiste y convertirlas en macros.
Cómo crear macros en Apps Script
Puedes tomar funciones escritas en Apps Script y usarlas como funciones macro. La manera más sencilla de hacerlo es importar una función existente desde el editor de Hojas de cálculo de Google.
Como alternativa, puedes crear macros dentro del editor de Apps Script si sigues estos pasos:
- En la IU de Hojas de cálculo de Google, selecciona Extensiones > Apps Script para abrir la secuencia de comandos vinculada a la hoja de cálculo en el editor de Apps Script.
- Escribe la función macro. Las funciones de macro no deben tener argumentos ni mostrar ningún valor.
- Edita el manifiesto de la secuencia de comandos para crear la macro y vincularla a su función. Asígnale un acceso directo y un nombre únicos.
- Guarda el proyecto de la secuencia de comandos. Luego, la macro estará disponible para usarla en la hoja.
- Prueba la función macro en la hoja de cálculo para verificar que funcione según lo previsto.
Edición de macros
Para editar macros adjuntas a una hoja, sigue estos pasos:
- En la IU de Hojas de cálculo de Google, selecciona Extensiones > Macros > Administrar macros.
- Busca la macro que deseas editar y selecciona > Editar macro. Se abrirá el editor de Apps Script en el archivo de proyecto que contiene la función macro.
- Edita la función de macro para cambiar el comportamiento de la macro.
- Guarda el proyecto de la secuencia de comandos. Luego, la macro estará disponible para usarla en la hoja.
- Prueba la función macro en la hoja de cálculo para verificar que funcione según lo previsto.
Importa funciones como macros
Si ya hay una secuencia de comandos vinculada a una hoja, puedes import una función en la secuencia de comandos como una macro nueva y, luego, asignarle una combinación de teclas. Para ello, edita el archivo de manifiesto y agrega otro elemento a la propiedad sheets.macros[]
.
Como alternativa, sigue estos pasos para importar una función como una macro desde la IU de Hojas de cálculo:
- En la IU de Hojas de cálculo de Google, selecciona Extensiones > Macros > Importar.
- Selecciona una función de la lista que se presenta y haz clic en Agregar función.
- Selecciona para cerrar el cuadro de diálogo.
- Selecciona Extensiones > Macros > Administrar macros.
- Busca en la lista la función que acabas de importar. Asigna una combinación de teclas única a la macro. También puedes cambiar el nombre de la macro aquí; el nombre predeterminado es el de la función.
- Haz clic en Actualizar para guardar la configuración de la macro.
Estructura del manifiesto para macros
En el siguiente fragmento de ejemplo de un archivo de manifiesto, se muestra la sección de un manifiesto que define las macros de Hojas de cálculo de Google.
En la sección sheets
del manifiesto, se definen el nombre y la combinación de teclas asignados a la macro y el nombre de su función.
{
...
"sheets": {
"macros": [{
"menuName": "QuickRowSum",
"functionName": "calculateRowSum",
"defaultShortcut": "Ctrl+Alt+Shift+1"
}, {
"menuName": "Headerfy",
"functionName": "updateToHeaderStyle",
"defaultShortcut": "Ctrl+Alt+Shift+2"
}]
}
}
Consulta el recurso de manifiesto de macros de Hojas de cálculo para obtener más detalles sobre la construcción de los manifiestos de macros de Hojas de cálculo.
Prácticas recomendadas
Cuando crees o administres macros en Apps Script, se recomienda que cumplas con los siguientes lineamientos.
- Las macros tienen mejor rendimiento cuando son livianas. Cuando sea posible, limita la cantidad de acciones que realiza una macro.
- Las macros son más adecuadas para las operaciones de memorización que deben repetirse con frecuencia con poca o ninguna configuración. Para otras operaciones, considera usar un elemento de menú personalizado en su lugar.
- Recuerda siempre que las combinaciones de teclas de macros deben ser únicas y que una hoja determinada solo puede tener diez macros con combinaciones de teclas al mismo tiempo. Las macros adicionales solo se pueden ejecutar desde el menú Extensiones > Macros.
- Las macros que realizan cambios en una sola celda se pueden aplicar a un rango de celdas. Para ello, selecciona primero el rango completo y, luego, activa la macro. Esto significa que, a menudo, no es necesario crear macros que dupliquen la misma operación en un rango de celdas predefinido.
Cosas que no puedes hacer
Existen algunas restricciones sobre lo que puedes hacer con las macros:
Cómo usar macros fuera de las secuencias de comandos vinculadas
Las macros se definen en secuencias de comandos vinculadas a Hojas de cálculo de Google específicas. Las macrodefiniciones se ignoran si se definen en una secuencia de comandos independiente o una aplicación web.
Cómo definir macros en complementos de Hojas de cálculo
No puedes distribuir definiciones de macro con un complemento de Hojas de cálculo. Los usuarios de ese complemento ignoran las definiciones de macros de un proyecto de complemento de Hojas de cálculo.
Cómo distribuir macros en bibliotecas de secuencias de comandos
No puedes distribuir definiciones de macro con las bibliotecas de Apps Script.
Cómo usar macros fuera de Hojas de cálculo de Google
Las macros solo son una función de Hojas de cálculo de Google y no existen para Documentos, Formularios ni Presentaciones de Google.