Google apps script ID列表范围复制

Google apps script ID列表范围复制,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有下面的脚本,我从这里的各种来源拼凑而成。这意味着从一个电子表格的B栏中获取一个列表,其中包含谷歌文件Id,然后访问这些文件,并在每个文件的4张表中复制一系列数据,并将其放入主控表中 各个组件都可以工作,但一旦我输入了我的特定名称并将其合并,我就会发现错误: 缺少)在参数列表之后。(第14行,文件“ID列表循环和副本”) 第14行是包含}}的最后一行! 带ID的电子表格是“归档文件夹ZZ每日计划列表”,要复制到的范围的电子表格是“归档”,以防我遗漏了什么 function getDataToM

我有下面的脚本,我从这里的各种来源拼凑而成。这意味着从一个电子表格的B栏中获取一个列表,其中包含谷歌文件Id,然后访问这些文件,并在每个文件的4张表中复制一系列数据,并将其放入主控表中

各个组件都可以工作,但一旦我输入了我的特定名称并将其合并,我就会发现错误:

缺少)在参数列表之后。(第14行,文件“ID列表循环和副本”)

第14行是包含
}}
的最后一行! 带ID的电子表格是“归档文件夹ZZ每日计划列表”,要复制到的范围的电子表格是“归档”,以防我遗漏了什么

function getDataToMaster2() {
   var sheetIds = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("listing 
   of folder ZZ Daily Schedules Archived");
   var values = sheetIds.getRange('B:B').getValues();
   var idList = values.map(function (row) { return row[0]; }).filter(function 
   (id) { return id; });
    // Loop through and open Spreadsheet files by `id`
    for (var i = 0; i < idList.length; i++) {  
    var sheets = SpreadsheetApp.openById(idList[i]).getSheets();

    // Perform an action on each sheet within the open Spreadsheet
    sheets.forEach(function (e) {
    var data = e.getRange('A7:U38').getValues();
    var sn = ['AM trip','PM trip','Pool / Beach','Night Dive']
    getSheetByName (sn[innerLoopIndex])
    Logger.log("sheet name: %s", e.getSheetName());


    });
    }}      
函数getDataToMaster2(){ var sheetIds=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“列表 文件夹ZZ每日时间表存档”); var values=sheetIds.getRange('B:B').getValues(); var idList=values.map(函数(行){返回行[0];}).filter(函数 (id){返回id;}); //按“id”循环并打开电子表格文件` 对于(var i=0;i 任何帮助都将不胜感激。

未关闭
过滤器()

function getDataToMaster2() {
  var sheetIds = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("listing of folder ZZ Daily Schedules Archived");
  var values = sheetIds.getRange('B:B').getValues();
  var idList = values.map(function (row) { return row[0]; }).filter(function (id) { return id; });
  // Loop through and open Spreadsheet files by `id`
  for (var i = 0; i < idList.length; i++) {  
    var sheets = SpreadsheetApp.openById(idList[i]).getSheets();

    // Perform an action on each sheet within the open Spreadsheet
    sheets.forEach(function (e) {
      var data = e.getRange('A7:U38').getValues();
      Logger.log("sheet name: %s", e.getSheetName());

      // sheetMaster.insertRowsAfter(lastRow, data.length);
      // sheetMaster.getRange(lastRow + 1, 2, data.length, data[0].length).setValues(data);
    });
  }
}
函数getDataToMaster2(){ var sheetIds=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“归档的文件夹ZZ每日计划列表”); var values=sheetIds.getRange('B:B').getValues(); var idList=values.map(函数(行){return row[0];}).filter(函数(id){return id;}); //按“id”循环并打开电子表格文件` 对于(var i=0;i

此外,将返回
null
,除非完整的单页名称实际上是:
'AM trip'、'PM trip'、'Pool/Beach'、'Night Dive'

如果我设置为getSheetByNames(),是否会在归档工作表中迭代所有4页并复制到相同的页名称?谢谢你抓住了打开的过滤器!Duh.没有可用的
getSheetByNames()
。更新了上述代码,以循环浏览打开的电子表格中的每个工作表。如果您只想打开具有这些特定名称的工作表,那么将其替换为内部
for
循环,该循环通过sheetname数组
var sn=['AM trip'、'PM trip'、'Pool/Beach'、'Night Dive']
并使用
getSheetByName(sn[innerLoopIndex])
要获取每个命名的工作表,我已经用您的输入更新了问题脚本。非常感谢你。你能看到我正确地输入了你的最后一部分吗,谢谢。我确实有4张我想复印的工作表,但每张工作表有6张,你还是对的。