Aprender a programar en Google Apps Script

Hace dos años que me vi inmerso en Google Apps Script (GAS) y la verdad es que me ha encantado esta tecnología de Google la cual ofrece un amplio abanico de posibilidades para diversos proyectos.

GAS es un lenguaje de programación que nos permitirá hacer uso de los servicios de Google. Este código se almacena y ejecuta del lado del servidor. Pero teniendo una limitante, la cual es que el código no puede exceder los 6 minutos en su ejecución. Recordemos que el código se almacena y se ejecuta en los servidores de Google por lo tanto esta consumiendo recursos de Google.

Con GAS podemos automatizar procesos en algunas Google Apps o agregar/ampliar funcionalidad como pueden ser en:
  • Gmail
  • Documentos
  • Presentaciones
  • Drive
  • Calendario
  • Hojas de Cálculo
  • Entre otras aplicaciones mas..
Aparte de lo anterior podemos crear aplicaciones/servicios web para los cuales no necesitaremos contratar un servidor. GAS esta basado en el lenguaje de programación Javascript, por lo cual si ya se tiene experiencia en este lenguaje y adicionalmente en HTML y CSS podemos hacer cosas mas interesantes aun al poder implementar interfaces gráficas. Todo esto haciendo uso de tecnologías estándar.

Si se tiene conocimientos en VBA/Excel, con GAS podemos crear algo similar a las macros que se programan en Excel pero con la gran ventaja de que estas se ejecutaran en la nube (servidores de Google) no en una maquina local. Y actualmente muchas empresas se están dando cuenta de los beneficios de poder incorporar Google Sheets a sus procesos de trabajo y si a eso sumamos un lenguaje de programación como GAS se tiene herramientas con las cuales se pueden hacer cosas muy interesantes.

Les comparto este magnifico y sencillo vídeo el cual es reciente, practico y sobre todo en español. Tiene todo lo suficiente para iniciarse y empezar desde cero. Más adelante espero compartir mas recursos tanto de vídeos y libros (en Ingles) para conocer mas a fondos GAS al igual que otros recursos para el resto de las Google Apps.


Comentarios

  1. Hola Fredy,

    Quisiera saber si me puede ayudar a crear una Forms que tenga la capacidad de enviar el formulario a una persona para que lo apruebe y finalmente recibir una respuesta.
    Seria de mucha ayuda.

    Muchas gracias.

    ResponderBorrar
    Respuestas
    1. Fredy? Me parece que te equivocaste de persona, no soy Fredy.

      Y en cuanto a tu proyecto tendría que estar al tanto de los detalles para darte un estimado en tiempo y presupuesto. Saludos!

      Borrar
  2. Hola Luis,
    mi nombre es Sara y estamos necesitando crear un formulario donde nuestros seguidores puedan adjuntar 1 sola foto, además de su nombre, correo y teléfono. Intenté por Google Forms, pero su uso está limitado a usuarios con cuenta de Gmail. Podrás presupuestarme el desarrollo de esto habilitado para todo tipo de usuarios? Gracias

    ResponderBorrar
    Respuestas
    1. Hola Sara, disculpa la demora pero no me había percatado de tu comentario... Sin duda puedo realizar un formulario de acuerdo a los requisitos que me comentas. Será que puedes contactarme por alguno de estos medios para poder brindarte el presupuesto de tu proyecto:

      @luis_cervantes (telegram)
      excelboy83@gmail.com (email)
      https://bit.ly/2xO2tIY (whatsapp)

      Quedo en espera de tu contacto. Saludos!

      Borrar
  3. Hola bro, gracias por el video. Estoy haciendo una encuesta y tengo que hacer que si los usuarios elijen cierta opción estos se adjunten a una hoja diferente por cada opcion

    ResponderBorrar
    Respuestas
    1. Hola! Si bien puedes utilizar Google Apps Script para resolver este problema, no lo recomiendo, salvo que ya sepas programar en el mismo y sepas como funcionan los activadores. Es por ello que si actualmente tienes un formulario y una hoja de cálculo asociada al mismo en el cual se concentran todos los datos, lo que te conviene hacer es crear tantas hojas dependiendo el número de opciones que haya en el formulario y en cada una de ella utilizar la función QUERY o FILTER para poder filtrar y mostrar los registros que corresponden a dicha opción. Te dejo la documentación de ambas funciones donde se explica a detalle su funcionamiento:

      https://support.google.com/docs/answer/3093197?hl=es
      https://support.google.com/docs/answer/3093343?hl=es

      Te dejo algunos vídeo también:
      https://www.youtube.com/watch?v=S7j3A-nPSqs
      https://www.youtube.com/watch?v=hu_kescIxro

      Saludos!

      Borrar
  4. Hola quisiera el formulario lo tienen que llenar de manera diaria es posible que todos los días la misma persona llene el formulario con datos distintos sin que le salga la opción de borrar la respuesta?

    ResponderBorrar
  5. Hola quisiera saber el formulario lo deben de llenar de manera diaria es posible que la misma persona llene el mismo formulario todos los días y no le aparezca la opción de eliminar respuestas anteriores?

    ResponderBorrar
    Respuestas
    1. Hola Eduardo, no me queda clara tu duda... Puedes brindar mayor detalle al respecto. Saludos.

      Borrar
  6. El formulario la misma persona lo debe de llenar todos los días, pero cuando la misma persona ingresa al formulario para introducir los datos diarios le aparece un mensaje de que ya envío las respuestas si desea borrarlas, hay manera que cuando la misma persona ingrese a enviar los datos no aparezca ese mensaje

    ResponderBorrar
    Respuestas
    1. Hola Eduardo, me confundió el echo de que preguntaras algo que no tiene nada que ver con el articulo publicado. Será acaso que tu formulario recopila el correo electrónico de la persona que responde y ademas esta limitado a una pregunta? Podrías validar si es asi en el formulario. Saludos!

      PD Si tienes mas dudas y estas no están relacionadas con los artículos del blog, puedes buscar alternativas en el foro de ayuda de editores de documentos:
      https://support.google.com/docs/community?hl=es

      O bien si no encuentras algo que se acerque a la solucion de tu problema, puedes realizar una pregunta la cual yo o alguno de mis colegas de la comunidad podremos responderte si esta dentro de nuestro conocimiento:
      https://support.google.com/docs/thread/new?hl=es

      Borrar
  7. Hola Luis,

    Quisiera saber si es posible que al responder a un formulario de evento quede agendado en el Google Calendar de la persona que responde.

    ResponderBorrar
    Respuestas
    1. Hola! Por supuesto que es posible, siempre y cuando se brinden datos como la fecha y hora. Y utilizando apps script que pueden tomar esos datos para agendar. Saludos!

      Borrar
  8. Hola Luis, en mi trabajo tengo distintas áreas que usan formularios y vuelcan los datos en distintas hojas de un solo archivo google sheet, como puedo crear una alerta de nuevo formulario para no tener que estar revisando todas las hojas, ni el mail

    ResponderBorrar
    Respuestas
    1. Puedes utilizar Google Apps Script para que cada vez que envíen una nueva respuesta te envié un correo avisando de ello. cada cierto tiempo. Eso es lo mas fácil por hacer, si requieres algo mas complejo necesitas conocimientos de programación.

      Saludos!

      Borrar
  9. Buenas tardes Luis, es posible que al crear un formulario de preguntas una de ellas sea fecha de nacimiento y que a su vez esa informacion se traslade al calendario google para tenerlo asi organizado? y tambienen una de las preguntas coloque cita (para agendarlo) para que tambien se vaya al calendario google?

    Gracias por tu atencion.

    ResponderBorrar
    Respuestas
    1. Hola! Respecto a tu pregunta, si es posible realizar lo que mencionas. Una de las ventajas de utilizar Google Apps Script es que puedes comunicar diferentes productos de Google. En este caso lo mas conveniente es que crees el formulario y lo vincules a una hoja de cálculo para recibir las respuestas para de ahí tomar las fechas y agendar en Calendar, claro también podrías directamente programar sobre el formulario. Saludos!

      Borrar
  10. Hola Luis, me gustaría que mis formularios de google ofrezcan resultados automatizados a cada persona, es decir, que una vez acabada de contestar la encuesta, la persona tenga posibilidad de imprimir o auto enviarse los resultados, los que se configuraron a partir de algoritmos de suma de respuestas a las distintas preguntas de la encuesta. Si puedes tú cotizarme esta necesidad, te lo agradeceré también. clasejuarez@hotmail.com

    ResponderBorrar
    Respuestas
    1. Hola Arturo disculpa la demora en contestar a tu comentario pero me sature de trabajo y no es muy bueno el sistema de notificaciones de Blogger en cuanto a los comentarios. Necesitaría ver a detalle los documentos con los que actualmente estas trabajando y me brindes mayor detalle de los mismo y lo que quieres obtener. Ahora mismo estoy enviándote un email. Saludos!

      Borrar
  11. hola, se me hace muy interesano yo soy completamente nuevo en este tema, pero me habian comentado que desde una hoja de calculo se puede enviar un correo

    Actualmente queremos implementar un formulario de google, para llevar las incidencias ocurridas en la oficina, pero nos gusaria que al final cuando en la hoja de calculo la celda cambie a concluido se enviara un correo a la dirección de correo que recopilamos esto es posible, seria muy complicado para alguien que va comenzando desde 0 ?

    ResponderBorrar
    Respuestas
    1. Hola! Si en efecto puedes llevar acabo lo que mencionas y con muy pocas lineas de programación, mínimo unas 5 lineas de código o mas dependiendo la personalización que se le quiera dar al email a enviar. No, no creo que este tipo de tarea sumamente complicado pero si de inicio no sabes nada al respecto si necesitas invertir algunas horas de estudio y revisar documentación para llevar acabo dicha tarea. Saludos!

      Borrar
  12. Hola, Soy completamente nuevo en GAS, realice una programación para enviar de forma automatica correos con una variante de texto, pero me gustaria que al finalizar el envio de ese correo, se cambiara el texto, es decir en la columna tengo el texto Terminado que es la variate para el envio de correo, pero quisiera que ese texto cambiara a enviado es posible ?

    ResponderBorrar
    Respuestas
    1. Por supuesto que es posible, una vez enviado el email podrías sobrescribir el contenido de la celda donde tomaste el mensaje a enviar. Saludos!

      Borrar
  13. Hola buenas noches quería saber porque los archivos adjuntos que las personas cargan al completar un formulario google también se me van a Mi Unidad? Espero respuesta gracias!!

    ResponderBorrar
    Respuestas
    1. Hola! Antes que nada tu pregunta no tiene relación con el tema tratado. Si tienes dudas en general de algún producto de Google pero que no tenga que ver con los temas tratados en el blog puedes realizar una consulta aquí:
      https://support.google.com/docs/community?hl=es

      Respecto a tu duda... no mencionas si eres el propietario del formulario si es así es normal que los archivos adjuntos se almacenen en tu unidad.

      Borrar
  14. Hola, estoy trabajando en excel, hojas de calculo de google docs, y necesito que cuando se lance una alerta configurando el envío de un correo electrónico desde Gmail cuando el valor de la casilla de vencimiento sea próxima a la fecha. Me podría decir si esto es posible y como puedo hacerlo?

    ResponderBorrar
    Respuestas
    1. Hola, Buena tarde! antes que nada hay que diferenciar que Excel y Google Sheets son dos cosas distintas. Si bien ambas son hojas de calculo una pertenece a Microsoft y otra a Google. Si tu consulta es sobre MS Excel creo que no puedo aconsejarte en ello y si es sobre Sheets no mencionas si ya tienes algo elaborado o estas desde cero (lo cual indicaría que no tienes conocimientos de programación) y entonces se trataría de un proyecto lo cual requeriría tiempo y dedicación de mi parte. Saludos.

      Borrar
  15. Hola sabrán como puedo hacer para enviar desde mi hoja de calculo un email con una imagen para ciertas personas que cumplan un criterio en la hoja de calculo solo haciendo un click?
    La parte de la hoja esta mas que resulta, pero no se como automatizar el envió de email con un solo click, y no entrar a la hoja de calculo copiar el email y armar en si el mensaje del "email".

    ResponderBorrar
  16. Hola vi tu comentario en una entrada de google support, y me quedo la duda como puedo hacer que una pestaña de google sheet se oculte para ciertos usuarios con GAS, te agradezco la ayuda de antemano. Saludos.

    ResponderBorrar
  17. Hola, necesito agregar un boton que suba una unidad a la celda, como el control de número en excel, pero en google sheets con apps script. Como lo puedo hacer?

    ResponderBorrar
  18. Hola, hay alguna forma de ocultar hojas para usuarios determinados dentro de un sheets de google?

    ResponderBorrar
    Respuestas
    1. No la hay! Recordemos que Sheets es una herramienta colaborativa por la cual todos pueden acceder dependiendo los permisos que se hayan brindado al documento. La pregunta es muy general... Que tipo de gestión de datos estas llevando acabo para requerir que solo ciertos usuarios puedan ver ciertas hojas. Podrías tener un documento donde ciertos usuarios agreguen o modifiquen datos y otro documento donde se importen los datos del primer documento pero esto puede o no. Todo dependerá de tus necesidades!

      Borrar

Publicar un comentario