2016-07-18 3 views
0

каждый день Я запускаю скрипт для форматирования внешнего вида дюжины новых таблиц, которые автоматически генерируются.Как применить функцию к нескольким листам при загрузке по идентификаторам

Сначала я помещаю их в папку на диске Google и запускаю скрипт, который генерирует список всех идентификаторов файла в папке, затем я копирую и вставляю каждый ID в новый скрипт 1 за раз и запускаю его. В основном я загрузка листов с помощью var ss = SpreadsheetApp.openById("<id goes here>");

Поскольку у меня уже есть список из 15 или так удостоверение личности (это число может меняться каждый день), мне интересно, если есть способ, я могу изменить сценарий так, чтобы он пройдут каждый идентификатор и завершатся. Вот пример того, что код будет:

function format() { 
    var ss = SpreadsheetApp.openById("<id goes here>"); 
    var sheet = ss.getActiveSheet(); 
    var range = sheet.getDataRange(); 
    var numRows = range.getNumRows(); 
    for(var i=2; i<=numRows; i++){ 
    sheet.setRowHeight(i, 320); 
    } 
    sheet.deleteColumn(3); 
    sheet.setColumnWidth(1, 72); 
    sheet.setColumnWidth(2, 150); 
    sheet.setColumnWidth(3, 300); 
    sheet.setColumnWidth(4, 150); 
    sheet.setColumnWidth(5, 150); 
    sheet.setColumnWidth(6, 300); 
    var maxColumns = sheet.getMaxColumns(); 
    var lastColumn = sheet.getLastColumn(); 
    if (maxColumns-lastColumn != 0){ 
     sheet.deleteColumns(lastColumn+1, maxColumns-lastColumn); 
     } 
    var maxRows = sheet.getMaxRows(); 
    if (maxRows-numRows != 0){ 
     sheet.deleteRows(numRows+1, maxRows-numRows); 
    } 
}; 
+0

Я был в состоянии сделать это, список содержимого папки и положить свой оригинальный сценарий в то время как утверждение, что используется openByID в переменной идентификатора файла. – screampuff

ответ

0

например:

var folder = DriveApp.getFolderById('<folder ID goes here>'); 
var contents = folder.getFiles(); 
var file; 
var name; 
var id; 
while(contents.hasNext()) { 
file = contents.next(); 
name = file.getName(); 
id = file.getId() 
var ss = SpreadsheetApp.openById(id); 

and continue on from here 
Смежные вопросы