如何使用 google 应用程序脚本复制 sheet 并根据第 1 行的最后一列值重命名它?

How to duplicate sheet using google apps script and rename it based on last column value in Row 1?

大家好,

我想复制 sheet 并根据第 1 行中的名称重命名复制的 sheet(如上面的屏幕截图所示)。

因此,例如,当我 运行 脚本时,脚本能够找到第 1 行中的最后一个值(在本例中为“Phase 1”)并将其设置为重复的 sheet。因此,如果第 1 行中的最后一个值位于单元格 C1 中,则它将根据单元格 C1 中的值命名重复的 sheet。

这是我的脚本,但我不确定我哪里做错了:

 function AddReportSheet() {
  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var ss1 = SpreadsheetApp.getActiveSheet();
  ss.duplicateActiveSheet();
  var lastcol = ss1.getRange(1,ss1.getLastColumn() +1)
  var myValue = ss1.getRange(1,1,1,lastcol).getDisplayValue();
  ss.renameActiveSheet(myValue);
}

任何帮助或建议将不胜感激! :D

你的情况,下面的修改怎么样?

发件人:

var lastcol = ss1.getRange(1,ss1.getLastColumn() +1)
var myValue = ss1.getRange(1,1,1,lastcol).getDisplayValue();
ss.renameActiveSheet(myValue);

收件人:

var myValue = ss1.getRange(1, 1, 1, ss1.getLastColumn()).getDisplayValues()[0].filter(String).pop();
ss.renameActiveSheet(myValue);

参考文献: