sheets script objetivo mejores los hoja google funcion example definicion complementos caracteristicas calculo buscar apps google-apps-script google-spreadsheet

google apps script - script - Hoja de cálculo de Google Apps abre una hoja específica según la fecha actual(mes)



hoja de calculo de google drive definicion (1)

Actualmente estoy creando una hoja de cálculo en Google Apps que se utilizará para registrar la asistencia del cliente. La hoja de cálculo contiene 12 hojas. Cada hoja representa un mes del año, por lo que la hoja uno representa el mes de enero, la hoja dos representa el mes de febrero, etc.

Intento crear un script de Google Apps usando la función On_Open para abrir automáticamente la hoja relevante según la fecha actual.

Por ejemplo, si la fecha actual es 18/02/2013, la hoja de cálculo se abrirá automáticamente con la hoja 2 (febrero) en foco.

Creo que estoy en lo correcto al usar SpreadsheetApp.setActiveSheet, pero no sé cómo capturaría la fecha específicamente el mes con Google App Script.

Supongo que el guión fluiría un poco como el siguiente?

Si Fecha = 18/02/2013 entonces SpreadsheetApp.setActiveSheet 2

Cualquier ayuda sería recibida con gratitud.


Para obtener un número de mes, 0 - 11:

var month = (new Date()).getMonth();

Suponiendo que tiene { Sheet1 .. Sheet12 } que representa enero - diciembre, entonces esto funcionará:

/** * Selects a monthly sheet */ function onOpen() { var month = (new Date()).getMonth(); var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[month]; ss.setActiveSheet(sheet); };

Alternativamente, puede nombrar las hojas por mes y encontrar la hoja mensual apropiada por nombre. Esto le permitiría tener otras hojas no mensuales en la hoja de cálculo:

/** * Selects a monthly sheet */ function onOpen() { var monthTabs = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; var month = (new Date()).getMonth(); var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName(monthTabs[month]); ss.setActiveSheet(sheet); };