Servicio al Cliente

clientes@chileguia.cl
Categorias

Tutorial de Google Apps Script para dominar macros

Los ejecutivos efectivos saben que el tiempo es el factor limitante ... Quizás nada más distinga a los ejecutivos efectivos tanto como su tierno cuidado del tiempo.

El tiempo es nuestro recurso más valioso. Queremos gastarlo en las actividades de mayor impacto y mayor valor agregado que podamos, no solo porque generalmente tienen el mayor valor monetario, sino también para desafiarnos continuamente y maximizar nuestra satisfacción laboral.
Hay muchas maneras de mejorar su eficiencia y productividad para aprovechar mejor su tiempo. En un artículo anterior sobre Google Sheets, expliqué cómo el poder de la colaboración en línea es una de esas claves para aumentar la productividad.
En otro artículo, demostré cómo el lenguaje de programación Python puede ser una poderosa herramienta de análisis y automatización de tareas para profesionales de finanzas.

Inspirándome en esto, ahora quiero presentar un tutorial de Google Apps Script. Google Apps Script le permite escribir scripts y programas en JavaScript para automatizar, conectar y ampliar los productos en G Suite de Google, incluidos Hojas de cálculo, Documentos, Presentaciones, Gmail, Drive y muchos otros. Aprenderlo requiere una inversión de tiempo, al igual que escribir los guiones, pero la productividad aumenta y las oportunidades adicionales que abre hacen que valga la pena.

Como primer paso, comencemos observando un concepto familiar: las macros.

Grabación y uso de macros en hojas de cálculo de Google


Si ha pasado mucho tiempo trabajando con Excel, es probable que haya entrado en contacto con la interfaz de macro VBA (Visual Basic para Aplicaciones) de Excel en algún momento. Ya sea grabándolos o escribiéndolos usted mismo o aprovechando los creados por otros.

Las macros son una excelente manera de automatizar flujos de trabajo repetitivos y tediosos. Es posible que VBA no sea un idioma al que dedicó mucho tiempo para aprender, pero su belleza es que realmente no lo necesitaba para ser productivo y crear sus propias macros. Simplemente puede grabar el flujo de trabajo que desea automatizar, y luego ir al código y realizar los pequeños cambios necesarios para hacer que la macro sea más general.

De alguna manera, VBA es una gran y olvidada lección sobre cómo introducir a las personas no técnicas a la codificación. La forma en que puede registrar acciones y luego tener el código poblado para su posterior revisión es, de hecho, una forma mucho más pragmática de aprender a leer libros de texto y mirar pasivamente los tutoriales.

La misma funcionalidad de grabación de VBA está disponible en Google Sheets. Aquí hay un ejemplo simple de cómo usarlo:

Comencemos con algunos datos de muestra, utilizando una consulta IMPORT HTML para importar una tabla. En este ejemplo, descargué una lista de Wikipedia de los 15 fondos de cobertura más grandes del mundo. No hace falta decirlo, pero este es un ejemplo arbitrario; la intención es que te concentres más en la aplicación, sobre el tema.

El proceso de grabación de macros se inicia a través de la siguiente ruta de menú: Herramientas> Macros> Grabar macro.

Luego recorremos las acciones (formato de PC) que queremos grabar:

    1. Seleccione la primera fila
    2. Presione Shift + Ctrl + Flecha abajo para seleccionar todo
    3.Ctrl + C para copiar
    4. Shift + F11 para crear una nueva hoja
    5.Dale un nuevo nombre a la hoja
    6. Presione Shift + Control + V para pegar valores

Una vez hecho esto, presione el botón Guardar en la ventana macro en la parte inferior, asígnele un nombre y un atajo de teclado opcional.

Para acciones más simples que se pueden replicar exactamente a través de estos mismos pasos, el proceso terminaría aquí y puede comenzar a usar su macro de inmediato. En este caso, sin embargo, necesitamos hacer algunos cambios antes de que el código sea utilizable. Por ejemplo, la hoja a la que copiamos deberá tener un nombre diferente cada vez. Veamos cómo hacer esto.

 

Escribir manualmente el script de Google Apps

Ahora veremos los huesos de Google Apps Script por primera vez; la plataforma de programación que se ejecuta en los servidores de Google. Esto potencia nuestras macros y le permite crear flujos de trabajo muy complejos, e incluso complementos, para las propias aplicaciones. Se puede utilizar para automatizar no solo el trabajo de hoja de cálculo, sino también casi cualquier cosa interconectada dentro de G Suite de Google.

El lenguaje de programación de Apps Script es JavaScript, uno de los lenguajes de programación más populares, lo que significa que hay una gran cantidad de recursos disponibles para cualquiera que quiera aprender mucho. Pero, al igual que con VBA, realmente no necesita hacerlo: puede usar la misma funcionalidad de Grabar y simplemente hacer los pasos que desea poder repetir automáticamente. El resultado de la grabación puede parecer crudo y lo más probable es que no coincida perfectamente con lo que desea hacer, pero proporcionará un punto de partida lo suficientemente sólido. Hagámoslo ahora para el guión que acabamos de grabar.

Al grabar, tiene sentido tener cuidado de no grabar ningún paso adicional por accidente que no desee que se capture en la grabación final, pero a veces es difícil de evitar: algo tan simple como seleccionar una celda diferente antes de presionar el botón Stop El botón de grabación será capturado y posteriormente repetido cada vez que ejecute el script. El primer paso al editar nuestro script sería limpiarlo y eliminar dichos pasos. Vamos a sumergirnos yendo a Herramientas> Editor de secuencias de comandos en el menú archivo.

Si conoce JavaScript, lo reconocerá al instante, y también podría sorprenderse al ver la palabra clave "var" en lugar de "let" o "const" como lo vería en JavaScript moderno. Esto refleja el hecho de que la versión de JavaScript en Apps Script es bastante antigua y no admite muchas de las funciones más recientes del lenguaje. Sin embargo, hacia el final, presentaré una solución alternativa para aquellos que deseen utilizar las funciones de lenguaje más recientes.

Cuando ejecuta el script por primera vez, solicitará autorización, lo cual tiene sentido, ya que los scripts pueden modificar (y potencialmente eliminar) todos sus datos. Lo más probable es que reconozca el proceso de autorización de otros productos de Google.

Ahora podemos comenzar a modificar el código. Los cambios que necesitamos hacer son menores, pero si lo hace por primera vez, aún puede requerir una búsqueda rápida a través de la documentación del Script de Sheets Apps y / o una búsqueda rápida de un concepto de JavaScript, como trabajar con fechas. Aquí, el hecho de que JavaScript es un lenguaje tan extendido es útil: una solución para cualquier problema que enfrente o la funcionalidad que se le ocurra generalmente se puede encontrar rápidamente si expresa el término de búsqueda de una manera directa.

Los cambios realizados en esta versión del script desde la versión original grabada son que, en lugar del nombre codificado para la nueva hoja que creamos, ahora lo nombramos con la fecha de hoy. Además, también cambiamos la ruta de copia al final para hacer referencia a esta nueva hoja. Las últimas cuatro filas también demuestran cómo realizar algunas operaciones de formateo, como cambiar el valor de una celda, cambiar el tamaño de las columnas y ocultar las líneas de la cuadrícula.

La ejecución de la secuencia de comandos ahora mostrará que la nueva hoja se nombra con la fecha de hoy y contiene la información copiada como valores (no fórmulas) de la hoja principal.

Las visualizaciones de gráficos ahora se pueden agregar utilizando el mismo proceso de registro. Usé esto para crear tres gráficos simples.

Ejemplos avanzados de secuencias de comandos de Google Apps: Conexión de hojas a Google Drive y diapositivas

Todo está empezando a tomar forma, pero ¿qué pasa si el resultado real que queremos no es una hoja de cálculo sino una presentación? Si ese es el caso, entonces la mayor parte del trabajo desde aquí podría seguir siendo manual, y no hemos ahorrado mucho tiempo si necesitamos hacer esto de forma recurrente.

Exploremos ahora cómo se vería automatizar la creación de una presentación utilizando los datos de ejemplo de nuestra hoja de cálculo.

Este ejercicio ahora se vuelve más avanzado por dos razones:

  1. Tendremos que familiarizarnos con cómo trabajar con las Presentaciones de Google (y Google Drive) además de las Hojas de cálculo.
  2. En Diapositivas, o cuando se trabaja entre aplicaciones de G Suite en general, no hay una funcionalidad de "Grabar macro" disponible. Esto significa que necesita saber lo suficiente sobre Apps Script (y sentirse cómodo navegando por la documentación de cada uno de los productos de G Suite) para escribir scripts desde cero.

El siguiente ejemplo está destinado a proporcionar algunos elementos básicos para que pueda comenzar y familiarizarse.

Para empezar, creemos una plantilla que luego queremos llenar con contenido usando nuestro script. Aquí hay dos diapositivas de presentación simples que puse juntas:

A continuación, deberá obtener la ID de esta plantilla porque deberá hacer referencia a ella en su secuencia de comandos. Inconscientemente habrá visto esta ID muchas veces porque es, de hecho, la secuencia de caracteres y números de aspecto aleatorio que ve en la URL de su navegador:

https://docs.google.com/presentation/p/this_is_your_presentation_ID/edit#slide=id.p.

Ahora tenemos que agregar las siguientes líneas a nuestro script original. Esto nuevamente solicitará autorización, esta vez para acceder a su Google Drive.

No verá ningún comentario visual inmediato si ejecuta este fragmento de código, pero si busca en la carpeta de su Google Drive donde había almacenado la plantilla, encontrará que se ha creado una copia, y tiene fecha en el nombre del archivo. ¡Hemos tenido un buen comienzo!

Ahora usemos más bloques de construcción para comenzar a llenarlo con contenido, mediante programación en lugar de hacerlo a mano. Agregue las siguientes filas a la misma función:

Ahora las cosas se están poniendo un poco más interesantes, ya que hemos cambiado la primera página para incluir la fecha de hoy. En las Diapositivas, como en las Hojas, trabaja con objetos (representados por clases) que tienen propiedades y métodos (es decir, funcionalidad adjunta). Estos se organizan en una jerarquía, con SpreadsheetsApp, DriveApp o SlidesApp como objeto de nivel superior. En el fragmento de código anterior, debemos movernos paso a paso a través de esta jerarquía para llegar al elemento que queremos editar, en este caso: el texto en un cuadro de texto. En términos prácticos, esto significa llegar a través de los objetos Presentación, Diapositiva, Elemento de página y Forma, hasta que finalmente lleguemos al objeto TextRange que queremos editar.

Hacer un seguimiento de qué tipo de objeto está tratando puede ser confuso y los errores que resultan de intentar aplicar una operación al objeto incorrecto pueden ser difíciles de resolver. Desafortunadamente, la funcionalidad de ayuda y los mensajes de error en el Editor de secuencias de comandos en sí no siempre brindan mucha orientación aquí, lo más positivo es que esa atención al menos mejorará sus prácticas de control de calidad.

Después de crear la presentación y actualizar el título, ahora es el momento de insertar uno de nuestros nuevos cuadros en ella. Teniendo en cuenta la jerarquía de los objetos, el siguiente código ahora debería tener sentido:

Uso de Python para la programación de hojas de cálculo de Google

Si encuentra que trabajar con Apps Script no es su taza de té, entonces hay otras opciones, dependiendo del caso de uso. Si desea hacer un cálculo numérico más avanzado, conectarse con API o bases de datos, o simplemente prefiere el lenguaje de programación Python en lugar de JavaScript, entonces Colaboratory de Google es un producto invaluable. Le proporciona un cuaderno Jupyter que se ejecuta en los servidores de Google que le permite escribir scripts de Python que se integran perfectamente con sus archivos de Google Drive y, a través de la biblioteca "gspread", facilita el trabajo con sus datos de hoja de cálculo.

Esbocé muchos de los beneficios de Python en un artículo sobre cómo usarlo para funciones financieras, que también sirve como una introducción suave para trabajar con las computadoras portátiles Python y Jupyter en un contexto comercial y financiero. Un beneficio muy importante para mí es que, a diferencia de Apps Script, el cuaderno de Python en Colaboratory es interactivo, por lo que puede ver los resultados (o mensaje de error) después de ejecutar cada línea o bloque pequeño de código.

La automatización es adictiva.

Este tutorial de Google Apps Script mostró un vistazo de lo que es posible a través del lenguaje de codificación de Google. Las posibilidades son prácticamente infinitas. Sin embargo, si no tiene antecedentes técnicos, los ejemplos de código pueden parecer desalentadores y podría estar pensando que las ganancias de productividad obtenidas al aprender Google Apps Script podrían no ser suficientes para compensar la inversión significativa en términos de tiempo necesario para aprenderlo

Esto, por supuesto, depende de muchos factores, incluido el tipo de rol que tiene o espera tener en el futuro. Pero incluso si no espera hacer algo similar a los ejemplos que se muestran aquí, comprender lo que es posible y aproximadamente cuánto trabajo se necesitaría para implementar puede desencadenar pensamientos e ideas sobre cómo mejorar la productividad en su empresa, para sus clientes o usted mismo personalmente.

Personalmente, puedo dar fe de la satisfacción de sentarme y presionar un botón que completa el tedioso trabajo manual de una hora en menos de un minuto. Después de hacer esto por quincuagésima vez, estarás agradecido por el par de horas dedicadas a armarlo todo en primer lugar, lo que en última instancia ha servido para liberar tu tiempo para actividades de mayor valor añadido. Después de un tiempo, estos beneficios de escalabilidad se vuelven adictivos.

 

Últimos de Foro (0)
Publicidad
Chileguía

El directorio en línea más completo para encontrar detalles de negocios, contactos, productos, servicios y precios.

info@chileguia.cl

© Chileguia. Todos los derechos reservados.
Implementado por Chileguia