Creación de múltiples eventos en Google Calendar automáticamente

En este tutorial, vamos a ver cómo crear múltiples eventos en Google Calendar desde Google Sheets usando Google Apps Script. Ya hemos hecho tutoriales sobre la creación de eventos, pero esta vez vamos a enfocarnos en crear varios eventos de manera masiva y en un calendario específico.

Paso 1: Crear un calendario específico

Lo primero que haremos es crear un nuevo calendario para nuestra convención. Para ello, vamos a usar el siguiente código en Google Apps Script:

function crearCalendario() {
  var calendar = CalendarApp.createCalendar('Primera Convención de Sheets');
  Logger.log('ID del calendario: ' + calendar.getId());
}

Este código crea un nuevo calendario llamado “Primera Convención de Sheets” y nos devuelve su ID.

Paso 2: Configurar los eventos en Google Sheets

En Google Sheets, configuramos los eventos con sus respectivas fechas y horarios. Por ejemplo:

EventoFechaHora InicioHora FinUbicaciónConferencista
Evento 12024-07-0708:0009:00Virtualconferencista1@gmail.com
Evento 22024-07-0709:0010:00Virtualconferencista2@gmail.com
Evento 32024-07-0808:0009:00Virtualconferencista3@gmail.com

Paso 3: Crear eventos desde Google Sheets

Ahora, vamos a crear un script que lea los datos de Google Sheets y cree los eventos en el calendario. Aquí está el código:

function crearEventosDesdeSheets() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Hoja1');
  var lastRow = sheet.getLastRow();
  var calendar = CalendarApp.getCalendarById('ID_DEL_CALENDARIO');

  for (var i = 2; i <= lastRow; i++) {
    var nombreEvento = sheet.getRange(i, 1).getValue();
    var fecha = sheet.getRange(i, 2).getValue();
    var horaInicio = sheet.getRange(i, 3).getValue();
    var horaFin = sheet.getRange(i, 4).getValue();
    var ubicacion = sheet.getRange(i, 5).getValue();
    var conferencista = sheet.getRange(i, 6).getValue();

    var fechaInicio = new Date(fecha);
    fechaInicio.setHours(horaInicio.getHours());
    fechaInicio.setMinutes(horaInicio.getMinutes());

    var fechaFin = new Date(fecha);
    fechaFin.setHours(horaFin.getHours());
    fechaFin.setMinutes(horaFin.getMinutes());

    var evento = calendar.createEvent(nombreEvento, fechaInicio, fechaFin, {
      location: ubicacion,
      guests: conferencista
    });

    sheet.getRange(i, 7).setValue('Creado'); // Marcamos el evento como creado
  }
}

Paso 4: Añadir un menú personalizado en Google Sheets

Para facilitar la creación de eventos, vamos a añadir un menú personalizado en Google Sheets:

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('Eventos')
    .addItem('Crear todos los eventos', 'crearEventosDesdeSheets')
    .addToUi();
}

Paso 5: Probar el script

Guarda el script y vuelve a Google Sheets. En el menú “Eventos” que acabamos de crear, selecciona “Crear todos los eventos”. Esto debería crear todos los eventos en el calendario especificado.

Conclusión

Hemos aprendido cómo crear múltiples eventos en Google Calendar desde Google Sheets usando Google Apps Script. Este proceso nos permite gestionar eventos de manera masiva y eficiente, lo cual es especialmente útil para conferencias, reuniones y otros eventos programados.

Espero que este tutorial te haya sido útil.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Pin It on Pinterest

Share This