我对这个论坛和谷歌脚本都很陌生。我从未真正学习过 JavaScript 或任何其他编程语言,但是自从我选择谷歌应用程序作为我的小型企业的主要平台后,我就被迫开始使用它。
我的问题是每个电子表格上的谷歌 ImportRange 函数限制为 50。我创建了一个模型,每个客户都有自己的电子表格,其中包含他的个人数据、截止日期等,位于他自己的谷歌驱动器文件夹中。
我还创建了一个名为“Organizer”的电子表格,Organizer 有两个功能 -
1) 使用 autoCrat 脚本创建自动通信,2) 显示每个客户的截止日期并按优先级排序。
所以我需要能够将所有客户电子表格中的数据共享/导入/复制到“组织者”。因为有 50 多个客户电子表格,我不得不放弃 ImportRange 函数,而是使用一个简单的脚本直接从每个电子表格中复制文件:
function ImportDataRange() {
// rown number.1
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Databaze");
var range = sheet.getRange(2, 1)
var id = range.getValue()
var ssraw = SpreadsheetApp.openById(id);
var sheetraw = ssraw.getSheetByName("Raw");
var range = sheetraw.getRange("A2:AB2");
var data = range.getValues();
sheet.getRange("B2:AC2").setValues(data)
// row number.2
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Databaze");
var range = sheet.getRange(3, 1)
var id = range.getValue()
var ssraw = SpreadsheetApp.openById(id);
var sheetraw = ssraw.getSheetByName("Raw");
var range = sheetraw.getRange("A2:AB2");
var data = range.getValues();
sheet.getRange("B3:AC3").setValues(data)
}
这个脚本实际上运行良好,但问题是,当我想使用这种方法将新的客户电子表格添加到“组织者”时,我必须为每个新行手动添加整个代码的新副本,并更改导入数据的输出范围和“Organizer”中源文件 ID 的位置。
有谁知道某种工作方法,这将帮助我更容易/自动添加新行/客户数据?
谢谢您的帮助!