Macros de Hojas de cálculo de Google

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Hojas de cálculo de Google te permite registrar macros que duplican una serie específica de interacciones de la IU que defines. Una vez que grabes una macro, puedes vincularla a una combinación de teclas con el formato Ctrl+Alt+Shift+Number. Puedes usar ese acceso directo para volver a ejecutar con rapidez los macropasos exactos, por lo general, en un lugar o con datos diferentes. También puedes activar la macro desde el menú Extensiones > Macros.

Cuando grabas una macro, Hojas de cálculo de Google crea automáticamente una función de Apps Script (la función macro) que replica los pasos de la macro. La función de macros se agrega a un proyecto de Apps Script vinculado a la hoja, 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 le agregará la función de macro. Las Hojas de cálculo de Google también actualizan automáticamente el manifiesto del proyecto de secuencia de comandos, ya que registran el nombre y la combinación de teclas que asignaste a la macro.

Dado que cada macro grabada se define completamente 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 forma más fácil de hacerlo es mediante la importación de 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 mediante los siguientes pasos:

  1. En la IU de Hojas de cálculo de Google, selecciona Extensiones > Apps Script para abrir la secuencia de comandos vinculada a la hoja en el editor de Apps Script.
  2. Escribe la función macro. Las funciones de macros no deben tomar argumentos ni mostrar valores.
  3. Edita el manifiesto de la secuencia de comandos para crear la macro y vincularla a la función de la macro. Asígnale un nombre y una combinación de teclas únicos.
  4. Guarda el proyecto de la secuencia de comandos. La macro estará disponible para su uso en la hoja.
  5. Prueba la función macro en la hoja de cálculo para verificar que funcione según lo previsto.

Cómo editar macros

Para editar macros adjuntas a una hoja, haga lo siguiente:

  1. En la IU de Hojas de cálculo de Google, selecciona Extensiones > Macros > Administrar macros.
  2. Busca la macro que deseas editar y selecciona > Edit macro. Se abrirá el editor de Apps Script en el archivo del proyecto que contiene la función macro.
  3. Edita la función macro para cambiar su comportamiento.
  4. Guarda el proyecto de la secuencia de comandos. La macro estará disponible para su uso en la hoja.
  5. 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 importar una función en la secuencia de comandos como una macro nueva y asignarle una combinación de teclas. Para ello, edita el archivo de manifiesto y agrega otro elemento a la propiedad sheets.macros[].

También puedes seguir estos pasos para importar una función como macro desde la IU de Hojas de cálculo:

  1. En la IU de Hojas de cálculo de Google, selecciona Extensiones > Macros > Importar.
  2. Selecciona una función de la lista que se presenta y, luego, haz clic en Agregar función.
  3. Selecciona para cerrar el cuadro de diálogo.
  4. Selecciona Extensiones > Macros > Administrar macros.
  5. Ubica en la lista la función que acabas de importar. Asigna un acceso directo único a la macro. También puedes cambiar el nombre de la macro aquí; el nombre predeterminado es el nombre de la función.
  6. Haz clic en Actualizar para guardar la configuración de la macro.

Estructura del manifiesto para macros

En el siguiente fragmento de ejemplo de archivo de manifiesto, se muestra la sección de un manifiesto que define macros de Hojas de cálculo de Google. La sección sheets del manifiesto define el nombre y la combinación de teclas que se asignaron a la macro y el nombre de la función de la macro.

  {
    ...
    "sheets": {
      "macros": [{
        "menuName": "QuickRowSum",
        "functionName": "calculateRowSum",
        "defaultShortcut": "Ctrl+Alt+Shift+1"
      }, {
        "menuName": "Headerfy",
        "functionName": "updateToHeaderStyle",
        "defaultShortcut": "Ctrl+Alt+Shift+2"
      }]
    }
  }

Consulta la guía Estructura del manifiesto para obtener más detalles sobre cómo se crean los manifiestos de Apps Script. En las secciones Hojas de cálculo y Macros, se describen los campos que definen las macros de Hojas de cálculo.

Prácticas recomendadas

Cuando creas o administras macros en Apps Script, se recomienda que cumplas con los siguientes lineamientos.

  1. Las macros son más eficaces cuando son livianas. Cuando sea posible, limita la cantidad de acciones que realiza una macro.
  2. Las macros son más adecuadas para operaciones de memorización que se deben repetir con frecuencia y con poca o ninguna configuración. Para otras operaciones, considera usar un elemento de menú personalizado.
  3. Recuerda siempre que las combinaciones de teclas para macros deben ser únicas y que una hoja determinada solo puede tener diez macros con accesos directos a la vez. Las macros adicionales solo se pueden ejecutar desde el menú Macros Extensiones.
  4. Las macros que realizan cambios en una sola celda se pueden aplicar a un rango de celdas. Para ello, selecciona 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 puede hacer con las macros:

Cómo usar macros fuera de las secuencias de comandos limitadas

Las macros se definen en secuencias de comandos vinculadas a Hojas de cálculo de Google específicas. Las definiciones de macros se ignoran si se definen en una secuencia de comandos independiente o en una aplicación web.

Cómo definir macros en complementos de Hojas de cálculo

No puedes distribuir definiciones de macros con un complemento de Hojas de cálculo. Los usuarios de ese complemento ignoran las definiciones de las macros en un proyecto complementario de Hojas de cálculo.

Cómo distribuir macros en bibliotecas de secuencias de comandos

No puedes distribuir definiciones de macros con las bibliotecas de Apps Script.

Cómo usar macros fuera de Hojas de cálculo de Google

Las macros son solo una función de Hojas de cálculo de Google y no existen para Documentos, Formularios ni Presentaciones de Google.