Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets Google脚本根据现有工作表的每一行使用数据复制选项卡_Google Sheets - Fatal编程技术网

Google sheets Google脚本根据现有工作表的每一行使用数据复制选项卡

Google sheets Google脚本根据现有工作表的每一行使用数据复制选项卡,google-sheets,Google Sheets,因此,我正在开发一个新的应用程序,并希望能够自动生成工资存根。我有一张概览表,上面有每周的工资和扣减额,每一行分别对应于每个工资期。然后我有一个工资存根模板,它接受一个工作周输入(单元格O3),并从一行填充数据 我正在寻找的是能够按需复制模板,并有它自动填写特定的工作周O3列。类似于可以创建52个副本的for循环,每个副本都有一个唯一的名称(即Paystub_WW01),并且O3中有一个不同的顺序值。我已经开始和你胡闹了 这就是我想到的,它是有效的: function CreateNewPays

因此,我正在开发一个新的应用程序,并希望能够自动生成工资存根。我有一张概览表,上面有每周的工资和扣减额,每一行分别对应于每个工资期。然后我有一个工资存根模板,它接受一个工作周输入(单元格O3),并从一行填充数据


我正在寻找的是能够按需复制模板,并有它自动填写特定的工作周O3列。类似于可以创建52个副本的for循环,每个副本都有一个唯一的名称(即Paystub_WW01),并且O3中有一个不同的顺序值。我已经开始和你胡闹了

这就是我想到的,它是有效的:

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;  
}
函数CreateNewPaystub(){
//var声明
var ss=SpreadsheetApp.getActiveSpreadsheet();
var template=ss.getSheetByName('PayStub_template');
var workweekRange=ss.getRange(“每周!B3:B14”);
var workweekObjects=workweekRange.getValues();
//循环所有工作周以创建重复的临时工
对于(变量i=0;i
在摆弄之后,我设置了一个“模板”工资存根,其中只有一列需要在O3的工作周中更新。我对今年迄今为止的总数使用了这个总和公式,所以不必担心写数值。我想复制模板并每周手动输入工作周并不是那么难,但我仍然很好奇如何编写脚本来执行相同的功能。解析这一大段并尝试准确地理解您的问题确实很有挑战性。(视觉效果帮助很大!)你只是想自动填写工作周?我已经清除了文本块,并尝试将我想要的内容重新表述得更简洁一点。只需要多次复制模板,每次迭代都有一个唯一的名称和一个特定的单元格值。每周一次!B3:B14,它将创建12张具有唯一名称的表格,重复的O3单元格将在每次迭代中用相应的BX单元格填充。到目前为止,请编辑您的代码,我们可以从中帮助您。此外,由于您的文档可能会发生更改、被删除等,因此强烈建议使用模板工资存根的屏幕截图,而不是指向文档的链接,这对未来的读者没有帮助。我实际上没有比该链接上更多的代码。我不知道如何根据另一个工作表中的条目循环或创建多个页面,也不知道如何使用脚本填充单元格。我还在调查,但愿意接受建议。