【发布时间】:2016-04-23 08:55:00
【问题描述】:
我的驱动器中有一个文件夹,我在其中为每个新客户创建一个文件夹(基于模板结构)。我需要从一个文件中提取信息,特别是从它们的每个文件夹中提取信息。我在列表中有电子表格 ID,而且我知道工作表名称,但我不确定如何创建一个循环来遍历每个文件并将其附加到主文件。
我最近发现了一个脚本here 可以解决问题,但它假定所有电子表格都在一个文件夹中:
function getDataToMaster2() {
var comp = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("System_Control").getRange("d7").getValue();
var folder = DriveApp.getFolderById(comp); //Define id of folder
var contents = folder.getFiles();
var file;
var data;
var sheetMaster = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form_Responses"); //first sheet of the file, change by getSheetByName("NAME") if you want
while(contents.hasNext()){
file = contents.next();
if (file.getMimeType() == "application/vnd.google-apps.spreadsheet") {
var sheet = SpreadsheetApp.openById(file.getId()).getSheetByName("Form_Responses");//first sheet of the file, change by getSheetByName("NAME") if you want
var startRow = 2;
var data = sheet.getDataRange().getValues();
var colToCheck = 14;
for(var j = 1; j < data.length;j++){
if(data[j][colToCheck-1] != "copied"){
sheetMaster.appendRow(data[j]);
sheet.getRange((j+1), colToCheck).setValue("copied");
SpreadsheetApp.flush();
}
}
}
}
}
【问题讨论】:
标签: google-apps-script google-sheets