所以我正在研究Payroll sheet,并希望能够自动生成paystubs。我有一个概述表,每周的工资和扣除额在不同的行上,每个工资期间有一行。然后我有一个paystub模板,它接受一个工作周输入(单元格O3)并填充单行数据。
我正在寻找的是能够按需复制模板,并让它自动填充列O3与特定的工作周。就像一个可以创建52个副本的for循环,每个副本都有一个唯一的名称(即Paystub_WW01),以及O3中的不同顺序值。我开始用this弄乱一轮。
答案 0 :(得分:0)
这就是我提出的并且有效:
function CreateNewPaystub() {
//var declaration
var ss = SpreadsheetApp.getActiveSpreadsheet();
var template = ss.getSheetByName('PayStub_Template');
var workweekRange = ss.getRange("Weekly!B3:B14");
var workweekObjects = workweekRange.getValues();
//loop through all work weeks to create duplicate tempaltes
for (var i = 0; i < workweekObjects.length; i++) {
// The code below makes a duplicate of the active sheet
var sheet = ss.getSheetByName('Paystub_WW' + workweekObjects[i]);
//check if it exists
if (sheet) {
Logger.log("Sheet " + workweekObjects[i] + "already exists");
} else {
template.copyTo(ss).setName('Paystub_WW' + workweekObjects[i]);
ss.getSheetByName('Paystub_WW' + workweekObjects[i]).getRange('O3').setValue(workweekObjects[i]);
}
}
return;
}