Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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/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
Javascript 让计数器在谷歌工作表中工作的问题_Javascript_Google Sheets - Fatal编程技术网

Javascript 让计数器在谷歌工作表中工作的问题

Javascript 让计数器在谷歌工作表中工作的问题,javascript,google-sheets,Javascript,Google Sheets,我试图在Google sheets中创建一个按钮,当按下该按钮时,将一张表格从单独的电子表格导入到当前的电子表格中,并给它一个名称“Miscellaneous”,后跟数字1到无穷大 例如,第一次按下按钮时,它将导入一张工作表并称之为“杂项1”,第二次按下按钮时,它将导入第二张工作表并称之为“杂项2”,依此类推 我有导入工作,现在我正试图使用一个计数器来增加“Miscellaneous”后面的数字。有人能告诉我我做错了什么吗?错误发生在第22行 template.copyTo(currentSpr

我试图在Google sheets中创建一个按钮,当按下该按钮时,将一张表格从单独的电子表格导入到当前的电子表格中,并给它一个名称“Miscellaneous”,后跟数字1到无穷大

例如,第一次按下按钮时,它将导入一张工作表并称之为“杂项1”,第二次按下按钮时,它将导入第二张工作表并称之为“杂项2”,依此类推

我有导入工作,现在我正试图使用一个计数器来增加“Miscellaneous”后面的数字。有人能告诉我我做错了什么吗?错误发生在第22行

template.copyTo(currentSpreadsheet).setName(newName)


我知道您想通过单击启动
copyFromTemplate()
功能的按钮来增加计数器并复制工作表。如果我的理解是正确的,这次修改怎么样

修改点:
  • 关于这个错误,我认为你的脚本是有效的。因此,请再次确认
    1IXNLKMAPH73LCNKXP1YRV53H824Y24FUA1A297OMAK的源文件ID,以及您的脚本是否是目标电子表格的绑定脚本
  • 在脚本中,由于计数器
    n
    未保存,因此当您通过按钮启动
    copyFromTemplate()
    时,计数器始终为1
上面反映的修改脚本如下

修改脚本: 注:
  • 我用它来增加计数器。
    • 运行
      countUp()
      时,
      n
      增加1
    • 您可以在中看到当前计数器
      • 关于脚本编辑器
      • 文件->项目属性->脚本属性
  • 运行
    copyFromTemplate()
    时,计数器
    n
    将增加,并且
    template
    将作为
    杂项“n”
    的文件名复制到当前活动电子表格中

如果我误解了你的问题,很抱歉。

这里的第22行是空白的。对不起,我的第22行是template.copyTo(currentSpreadsheet).setName(newName)@欢迎光临。我很高兴你的问题解决了。
var n = 0;

function countUp() {
    n += 1;
}

function copyFromTemplate(){
  var templateSpreadsheet = SpreadsheetApp.openById('1iXnLkMaPh73lcnkXP1yRV53H824y24FUa1a297OmAKk');
  var template = templateSpreadsheet.getSheets()[0]; //Assuming it is the first sheet

  //The default name will be "Copy of [original name]". We can use this to change it

    countUp();

  var newName = ("Miscellaneous " + n);




  var currentSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  template.copyTo(currentSpreadsheet).setName(newName);


}
function countUp() {
  var prop = PropertiesService.getScriptProperties();
  var n = prop.getProperty("n");
  n = n ? parseInt(n, 10) + 1 : 1;
  prop.setProperty("n", n);
  return n;
}

function copyFromTemplate(){
  var templateSpreadsheet = SpreadsheetApp.openById('1iXnLkMaPh73lcnkXP1yRV53H824y24FUa1a297OmAKk');
  var template = templateSpreadsheet.getSheets()[0];
  var newName = ("Miscellaneous " + countUp());
  var currentSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  template.copyTo(currentSpreadsheet).setName(newName);
}