He estado trabajando en este guión durante dos semanas y no puedo resolverlo. Creo que necesito combinar estas dos funciones para crear una matriz y usar la función getSheetNames() para ser más un descriptor. Luego, quiero ejecutar una función separada para filtrar la matriz en dos hojas diferentes en un documento maestro según el nombre de la hoja. Cualquier ayuda sería muy apreciada.
//Function to pull all data from workbook function getDataFromSpreadsheet1(ssID) { //Open workbook let ss = SpreadsheetApp.openById(ssID); //Get all sheets in workbook and put into array let data = ss.getSheets().map(sh => sh.getRange(4, 1, sh.getLastRow() - 2, 3).getValues()).flat(1); Logger.log(data); return data; } //Function to return name of sheets in workbook function getSheetNames(ssID) { let ss = SpreadsheetApp.openById(ssID); let sheets = ss.getSheets(); let session = []; sheets.forEach(function (sheet) { session.push(sheet.getName()); }); Logger.log(session); return session; } function getDataFromSpreadsheet1(ssID) { const ssids = ['ssID1', 'ssID2']; data = [] ssids.forEach(ssid => { let ss = SpreadsheetApp.openById(ssid); let vs = ss.getSheets().map(sh => sh.getRange(4, 1, sh.getLastRow() - 2, 3).getValues()).flat(1); data.push(vs) }) Logger.log(data); return data; }Esto es lo que necesitas.
function getDataFromSpreadsheet1(ssID) { //Open workbook let ss = SpreadsheetApp.openById(ssID); //Get all sheets in workbook and put into array let data = ss.getSheets().map(sh =>{ return [[sh.getName()],sh.getRange(4, 1, 3, 3).getValues().flat(1)] }); console.log(data); return data; }