Google App Script: las macros de Google
LA SUITE DE GOOGLE
Google tiene su propia Suite o paquete de programas de ofimática. Igual que Microsoft.
Es decir, Google tiene su propio Excel, su propio Power Point, sus propio Outlook o su propio Word.
En el caso de Google los nombres cambian un poco pero básicamente es lo mismo:
- Outlook >> Gmail
- Excel >> Google Sheets
- Word >> Google Docs
- Power Point >> Google Slides
Son tan parecidos que el usuario que sepa manejarse en un sistema pronto aprendería a manejarse en el otro. De verdad, no tiene mucha dificultad. Yo particularmente uso uno u otro indistintamente.
VENTAJAS Y DESVENTAJAS
Google vs. Microsoft. Es una gran pregunta que se hacen miles de usuarios.
En mi experiencia personal casi nadie usa muy bien casi ninguna herramienta por lo que es difícil que vayas a sacarle todo el partido a ninguna. Dicho esto vamos a analizar algunos puntos.
FUNCIONALIDAD
La Suite de Microsoft es mucho más completa. Tiene muchas más funcionalidades aunque, como decía, rara vez echarás de menos alguna en Google que sí que exista en Microsoft. Esto lo notarán sobre todo los usuarios avanzados de ofimática.
COMPARTIR
Digamos que aquí Google se lleva el gran premio. La suite de Google estaba pensada para ser una herramienta colaborativa. Es decir, múltiples usuarios trabajando en un mismo documento a la vez… y la verdad es que esto todavía es insuperable. Google lo hace extremadamente bien y aunque Microsoft ha avanzado mucho en este territorio todavía le queda bastante por avanzar.
FACILIDAD DE USO
En facilidad de uso Google vuelve a salir ganando. Es verdad que al tener menos funcionalidades todo se vuelve mucho más sencillo pero la realidad es que también tiene una mejor interfaz de usuario.
La curva de aprendizaje para cualquier usuario usando Google Workspace (que así se llama) es mucho más sencilla frente a aquellos usuarios que se adentren en el mundo de Microsoft 365.
¿QUÉ ES GOOGLE APP SCRIPT?
Al igual que en Excel o en Power Point o en general en la suite de Microsoft de ofimática tenemos un lenguaje de programación que nos permite ampliar las capacidades del programa también lo tenemos en Google.
En el caso de Google hablamos de Google App Script.
Google App Script es un lenguaje de programación basado en Javascript. Al igual que en Microsoft tenemos un lenguaje orientado a objetos, en Google App Script también.
Por ejemplo, en Google Sheets (el Excel de Google) también tendremos objetos como “libro”, “hoja”, “Rango”, etc…
¿ES MEJOR GOOGLE APP SCRIPT QUE VBA?
Si y no.
La gran ventaja de Google App Script es que todas las aplicaciones de Google se conectan de maravilla usando simplemente un ID de cada uno de los objetos. Este ID facilita al no tener que estar pendiente de donde se guardan los diferentes archivos con los que queremos trabajar.
Además, Google App Script tiene todo el soporte de la comunidad que desarrolla en JavaScript. La inmensa mayoría de las funciones se basan en este lenguaje por lo que si queremos buscar documentación encontraremos un gran número de sitios online en los que poder encontrar información.
¿Qué puedo hacer con Google App Script?
Algunos ejemplos de cosas que puedes hacer sin mucha imaginación serían:
- Volcar información de correos electrónicos de Gmail a Sheets
- Interactuar con el usuario en una hoja de Sheets
- Analizar información y transformarla en Sheets
- Crear presentaciones de Slides
- Crear un documento de Docs (word) a partir de información de una hoja de cálculo
Y si, todo esto se puede hacer con Microsoft 365 pero en Google App Script es mucho más intuitivo y fácil de usar.
Además cuenta con una gran cantidad de documentación, como decía, y la documentación oficial de Google es una maravilla. Si te pica la curiosidad echa un vistazo aquí: https://developers.google.com/apps-script
UN EJEMPLO PARA COPIAR INFORMACIÓN DE GMAIL A GOOGLE SHEETS
El siguiente código que puedes ver lo que hace es buscar todos los correos electrónicos que se encuentran “etiquetados” en Gmail en “Mi_Carpeta” y vuelca información de los mismos en una hoja de Google.
function GetEmailData_V2() {
var AllData = GmailApp.search("label:Mi_Carpeta")
var sht = SpreadsheetApp.getActiveSheet()
var fila = 1
AllData.forEach(function (value, fila){
var allMsg=value.getMessages()
var firstMsg = allMsg[0]
sht.getRange(fila+1,1).setValue(firstMsg.getDate())
sht.getRange(fila+1,2).setValue(firstMsg.getFrom())
sht.getRange(fila+1,3).setValue(firstMsg.getTo())
sht.getRange(fila+1,4).setValue(firstMsg.getSubject())
sht.getRange(fila+1,6).setValue(firstMsg.getReplyTo())
var labels = value.getLabels()
for (var i = 0; i < labels.length; i++) {
var labelName = labelName + "," + labels[i].getName()
}
sht.getRange(fila+1,7).setValue(labelName)
var fila = fila + 1
})
}
He probado este código y en un par de segundos extrae información de cientos de correos electrónicos. ¿Para qué puede servir? Cada uno le dará su utilidad.
Como puedes ver, si sabes algo de VBA, está hablando de cosas que te suenan muy familiares… pero en su propio lenguaje.
Etiqueta:celdas, Cursos de Excel, Excel, excel básico