我希望循环通过给定文件夹中的所有电子表格提供的代码。我只是不确定该怎么做。我尝试迭代文件夹错误的每一种方式。我试过了10种不同的变化。
我将使用一个独立的脚本,我可以插入该文件夹的ID号。 有任何想法吗? 非常感谢您提供的任何帮助。我还在学习,但越来越好。 :) 布兰登
function dataUpdate() {
var ss = SpreadsheetApp.getActiveSpreadsheet(); // Trying to iterate through all spreadsheets in a folder rather than using .getactivespreadsheet().
var sheet = ss.getSheets()[0];
var cell = sheet.getRange(2,7);
var sheets = ss.getSheets()[3];
var cell1 = sheets.getRange(7,8);
var cell2 = sheets.getRange(7,9);
cell.setValue('RTI')
sheets.setName("RTI Data");
sheets.getRange(4, 8).setValue('Cell Value');
sheets.getRange(5, 8).setValue('1');
sheets.getRange(6, 8).setValue('2');
sheets.getRange(7, 8).setValue('3');
sheets.getRange(5, 9).setValue('Tier 1');
sheets.getRange(6, 9).setValue('Tier 2');
sheets.getRange(7, 9).setValue('Tier 3');
cell1.setHorizontalAlignment("center").setBackground("#f0f0f0");
cell2.setHorizontalAlignment("center").setBackground("#f0f0f0");
}

答案 0 :(得分:0)
查找getFolderById()或getFoldersByName()以及SpreadsheetApp.openById(),你会很容易理解它。
编辑:制作存根:
// Iterates trough all files in given folder and logs the A1 in the first sheet in all of them
var folderId = "sdoijawodkhqoud98y12eh";
var folder = DriveApp.getFolderById(folderId);
var files = folders.getFiles();
while (files .hasNext()) {
var file = files.next(),
ss = SpreadsheetApp.openById(file.getId()),
sheet = ss.getSheets()[0],
A1Value = sheet.getRange("A1").getValue();
Logger.log(A1Value);
}
另外,尝试一次使用多个范围,不要做很多setValue()和getValue(),而是使用数组,我会这样对待:
sheetRange = ss.getRange(1, 1, 7, 9);
sheetVals = sheetRange.getValues();
sheetVals[ 1 ][ 6 ] = "RTI"
sheetVals[ 3 ][ 7 ] = "Cell Value"
// ... and so on...
sheetRange.setValues(sheetVals);
sheets.getRange(7, 8, 1, 2).setHorizontalAlignment("center").setBackground("#f0f0f0");
正如良好做法所示:https://developers.google.com/apps-script/best_practices