tutorial sheets scripts script openbyurl macro google español ejemplos docs developer apps app active google-apps-script google-spreadsheet

google apps script - sheets - Ejecute la función personalizada si el valor en la celda es la fecha



google spreadsheet macro (1)

Use la función isDate() , a continuación, para hacer lo que está pidiendo. El formato de fecha se puede cambiar para adaptarse a otras necesidades. Consulte [ Utilities.formatDate() ] [3] para obtener más información.

// From http://stackoverflow.com/questions/1353684 // Returns ''true'' if variable d is a date object. function isValidDate(d) { if ( Object.prototype.toString.call(d) !== "[object Date]" ) return false; return !isNaN(d.getTime()); } // Test if value is a date and if so format // otherwise, reflect input variable back as-is. function isDate(sDate) { if (isValidDate(sDate)) { sDate = Utilities.formatDate(new Date(sDate), "PST", "MM/dd/yyyy"); } return sDate; }

En su secuencia de comandos, ha utilizado la función Range.getValues() , que devolverá una matriz bidimensional de los datos en el rango dado. (Toda la hoja, en su caso). Por lo tanto, deberá recorrer los valores de lectura y llamar a esta función en cualquier celda que le interese, y luego volver a escribir la información en la hoja de cálculo. Hay muchos ejemplos de esto tanto en la documentación de Google como en Stackoverflow.

Soy nuevo en las secuencias de comandos de Google. Me gustaría comprobar si el valor de una celda es una fecha y, de ser así, cambiar el formato predeterminado de la fecha y luego devolver el nuevo valor de fecha formateado.

Aquí hay un ejemplo de lo que me gustaría:

var activeCellValues = SpreadsheetApp.getActiveRange().getValues(); if ( activeCellValues = "Is_Type_Date") { var activeCellValues = Utilities.formatDate(pubDateCell,"PST", "MM/dd/yyyy") }

es posible?