Ampliación de Hojas de cálculo de Google

Google Apps Script te permite hacer cosas nuevas y geniales con Hojas de cálculo de Google. Puedes usar Apps Script para agregar menús personalizados diálogos y barras laterales a Hojas de cálculo de Google. También te permite escribir funciones personalizadas para Hojas de cálculo, así como integrar Hojas de cálculo con otras Los servicios de Google, como Calendario, Drive y Gmail

La mayoría de las secuencias de comandos diseñadas para Google Sheets manipulan arrays para interactuar con las celdas, filas y columnas de una hoja de cálculo. Si no eres con los arrays de JavaScript, Codecademy ofrece una gran módulo de entrenamiento para arrays. (Ten en cuenta que Google no desarrolló este curso ni está asociado con él).

Si deseas obtener una introducción breve al uso de Apps Script con Hojas de cálculo de Google, consulta el de inicio rápido de 5 minutos para Macros, menús y funciones personalizadas

Comenzar

Apps Script incluye APIs especiales que te permiten crear, leer y editar hojas de cálculo de Google. Apps Script puede interactuar con Hojas de cálculo de Google de dos maneras: cualquier secuencia de comandos puede crear o modificar una hoja de cálculo si el usuario de la secuencia los permisos adecuados para la hoja de cálculo, y también se puede vinculado a una hoja de cálculo, lo que le da al guion capacidades especiales para alterar la interfaz de usuario o responder cuando se abre la hoja de cálculo. Para crear una secuencia de comandos vinculada, selecciona Extensiones > Apps Script desde Google Sheets.

El servicio Spreadsheet trata a Google Hojas como una cuadrícula que funciona con matrices bidimensionales Para recuperar los datos de la hoja de cálculo, debes tener acceso a la hoja de cálculo en la que están los datos almacenar, obtener el rango en la hoja de cálculo que contiene los datos y, luego, obtener el valores de las celdas. Apps Script facilita el acceso a los datos mediante la lectura datos estructurados en la hoja de cálculo y crear objetos JavaScript para ellos.

Lee datos

Supongamos que tiene una lista de nombres y números de productos que almacena en una hoja de cálculo, como se muestra en la imagen a continuación.

En el siguiente ejemplo, se muestra cómo recuperar y registrar los nombres de productos y los y números de serie.

function logProductInfo() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  for (var i = 0; i < data.length; i++) {
    Logger.log('Product name: ' + data[i][0]);
    Logger.log('Product number: ' + data[i][1]);
  }
}

Ver registros

Para ver los datos registrados, en la parte superior del editor de secuencias de comandos, haz clic en Registro de ejecución.

Escribir datos

Para almacenar datos, como el nombre y el número de un producto nuevo en la hoja de cálculo, agrega el siguiente código al final de la secuencia de comandos.

function addProduct() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow(['Cotton Sweatshirt XL', 'css004']);
}

El código anterior agrega una nueva fila en la parte inferior de la hoja de cálculo, con el valores especificados. Si ejecutas esta función, verás que se agrega una nueva fila al en una hoja de cálculo.

Interfaces de usuario y menús personalizados

Puedes personalizar Hojas de cálculo de Google agregando menús, cuadros de diálogo y barras laterales. Para conocer los conceptos básicos de la creación de menús, consulta la guía de menús. Para saber cómo personalizar la contenido de un cuadro de diálogo, consulta guía del servicio HTML.

También puedes adjuntar una función de script a una imagen o dibujo dentro de hoja de cálculo; La función se ejecutará cuando un usuario haga clic en la imagen o dibujo. Para obtener más información, consulta Imágenes y dibujos en Hojas de cálculo de Google.

Si planeas publicar tu interfaz personalizada como parte de una complemento, sigue la guía de estilo para mantener la coherencia con las y el diseño del editor de Hojas de cálculo de Google.

Conéctate con Formularios de Google

Apps Script te permite conectar Formularios de Google con Hojas de cálculo de Google a través de Formularios y Servicios de hojas de cálculo. Esta función puede crear formularios de Google automáticamente a partir de los datos de una hoja de cálculo. Apps Script también te permite usar activadores, como onFormSubmit para realizar una acción específica después de que un usuario responde el formulario. Para obtener más información sobre cómo conectar Hojas de cálculo de Google a Formularios de Google, prueba la sección Cómo administrar Respuestas para Formularios de Google: guía de inicio rápido de 5 minutos.

Formato

La clase Range tiene métodos como los siguientes: setBackground(color) para acceder y modificar el formato de una celda o un rango de celdas. Lo siguiente En este ejemplo, se muestra cómo puedes establecer el estilo de fuente de un rango:

function formatMySpreadsheet() {
  // Set the font style of the cells in the range of B2:C2 to be italic.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var cell = sheet.getRange('B2:C2');
  cell.setFontStyle('italic');
}

Validación de datos

Apps Script te permite acceder a las reglas de validación de datos existentes en Hojas de cálculo de Google o crear reglas nuevas. Por ejemplo, en el siguiente ejemplo se muestra cómo configurar una que permite solo los números entre 1 y 100 en una celda.

function validateMySpreadsheet() {
  // Set a rule for the cell B4 to be a number between 1 and 100.
  var cell = SpreadsheetApp.getActive().getRange('B4');
  var rule = SpreadsheetApp.newDataValidation()
     .requireNumberBetween(1, 100)
     .setAllowInvalid(false)
     .setHelpText('Number must be between 1 and 100.')
     .build();
  cell.setDataValidation(rule);
}

Para obtener más detalles sobre cómo trabajar con reglas de validación de datos, consulta SpreadsheetApp.newDataValidation(), DataValidationBuilder, y Range.setDataValidation(rule)

Gráficos

Apps Script te permite incorporar gráficos en una hoja de cálculo que representan los datos de una un rango específico. En el siguiente ejemplo, se genera un gráfico de barras incorporado, suponiendo que Tienes datos para gráficos en las celdas A1:B15:

function newChart() {
  // Generate a chart representing the data in the range of A1:B15.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.BAR)
     .addRange(sheet.getRange('A1:B15'))
     .setPosition(5, 5, 0, 0)
     .build();

  sheet.insertChart(chart);
}

Para obtener más información sobre cómo incorporar un gráfico en tu hoja de cálculo, consulta EmbeddedChart y creadores de gráficos específicos, como EmbeddedPieChartBuilder

Funciones personalizadas en Hojas de cálculo de Google

Una función personalizada es similar a una función integrada de hoja de cálculo como =SUM(A1:A5), excepto que tú defines el comportamiento de tus funciones con Apps Script. Por ejemplo, podrías crear una red función in2mm(), que convierte un valor de pulgadas a milímetros, y luego usa la fórmula en tu hoja de cálculo escribiendo =in2mm(A1) o =in2mm(10) en una de la celda.

Para obtener más información sobre las funciones personalizadas, prueba la Menús y funciones personalizadas de 5 minutos o consulta la guía de inicio rápido guía sobre funciones personalizadas.

Macros

Las macros son otra forma de ejecutar código de Apps Script desde la IU de Hojas de cálculo de Google. A diferencia de las funciones personalizadas, puedes activarlas con una combinación de teclas o mediante el menú de Hojas de cálculo de Google. Para obtener más información, consulta Macros de Hojas de cálculo de Google

Complementos para Hojas de cálculo de Google

Los complementos están empaquetados de forma especial de Apps Script Proyectos que se ejecutan en Hojas de cálculo de Google y se pueden instalar de la tienda de complementos de Hojas de cálculo de Google. Si desarrollaste una secuencia de comandos para Hojas de cálculo de Google y quieres compartirla con el mundo, Apps Script te permite publicar tu secuencia de comandos como un para que otros usuarios puedan instalarlo desde la tienda del complemento.

Activadores

Secuencias de comandos vinculadas a un archivo de Hojas de cálculo de Google puede usar activadores simples, como las funciones onOpen() y onEdit() deben responder automáticamente cuando un usuario que haya editado un elemento acceso a la hoja de cálculo abre o edita la hoja de cálculo.

Al igual que los activadores simples, activadores instalables, permiten que Hojas de cálculo de Google ejecutar una función automáticamente cuando ocurre un evento determinado. Instalable los activadores ofrecen más flexibilidad que los activadores simples y la compatibilidad los siguientes eventos: abrir, editar, cambiar, envío de formulario y basado en el tiempo (reloj).