我已修改此代码,但我无法弄清楚如何让它运行整个电子表格。
修改后的代码会复制电子表格,根据其他电子表格对其进行重命名,然后将文档归档到相应的文件夹中。
function generateMonthlyReport() {
var data = SpreadsheetApp.openById(CUSTOMER_SPREADSHEET);
// Fetch variable names
// they are column names in the spreadsheet
var sheet = data.getSheets()[0];
var columns = getRowAsArray(sheet, 1);
Logger.log("Processing columns:" + columns);
var customerData = getRowAsArray(sheet, CUSTOMER_ID);
Logger.log("Processing data:" + customerData);
// Assume first column holds the name of the customer
var customerName = customerData[1];
var customerCityState = customerData[2];
SpreadsheetApp.getActiveSheet().getSheetId()
var target = createDuplicateDocument(SOURCE_TEMPLATE, "CSMR - " + customerName + ", " + customerCityState );
Logger.log("Created new document");
}
答案 0 :(得分:0)
不确定我是否完全理解了您想要获得的最终结果,但这里是如何构建循环,它将为每行数据创建一个文档。
function generateMonthlyReport() {
var data = SpreadsheetApp.getActiveSpreadsheet();
// Fetch variable names
// they are column names in the spreadsheet
var sheet = data.getSheets()[0];
var columns = getRowAsArray(sheet, 1);
for(var customer=2;customer<sheet.getLastRow();customer++){
Logger.log("Processing row:" + customer);
var customerData = getRowAsArray(sheet, customer);
Logger.log("Processing data:" + customerData);
// Assume first column holds the name of the customer
var customerName = customerData[0];
var customerCityState = customerData[2];
SpreadsheetApp.getActiveSheet().getSheetId()
// var target = createDuplicateDocument(SOURCE_TEMPLATE, "CSMR - " + customerName + ", " + customerCityState );
Logger.log("Created new document for customer "+customer+' ctitle = CSMR - ' + customerName + ', ' + customerCityState);
}
}
function getRowAsArray(sheet, n){
var array = [];
var data = sheet.getRange(n,1,1,sheet.getLastColumn()).getValues();
for(var c=0;c<data[0].length;c++){
array.push(data[0][c]);
}
return array;
}
测试记录器+测试表如下: