Google sheets 在Google工作表中列出工作表的名称

Google sheets 在Google工作表中列出工作表的名称,google-sheets,Google Sheets,我找到了在谷歌表单中列出所有表单名称的代码 function sheetnames() { var out = new Array() var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets() for (var i=2 ; i<sheets.length ; i++) out.push( [ sheets[i].getName() ] ) return out } 函数sheetnames(){ var

我找到了在谷歌表单中列出所有表单名称的代码

function sheetnames() {
  var out = new Array()
  var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets()
  for (var i=2 ; i<sheets.length ; i++) out.push( [ sheets[i].getName() ] )
  return out 
}
函数sheetnames(){
var out=新数组()
var sheets=SpreadsheetApp.getActiveSpreadsheet().getSheets()
对于(var i=2;i您必须安装触发器,当用户修改电子表格的结构时(例如,当插入或删除工作表时),触发器将运行一个函数

您可以手动安装触发器,也可以通过以下方式或编程方式安装触发器,执行此函数一次:

function createOnChangeTrigger() {  
  const ss = SpreadsheetApp.getActive();
  ScriptApp.newTrigger("writeSheetNames")
  .forSpreadsheet(ss)
  .onChange()
  .create();
}
安装后,每次创建、删除或重命名工作表时都会运行函数
writeSheetNames
。此函数应执行两项操作:

  • 检索电子表格中所有图纸的图纸名称
  • 将这些工作表名称写入指定的单元格
例如,下面的函数将数据写入名为
Sheet1
的工作表的
A列

代码示例: 参考:

一次只关注一个问题。在创建新工作表时,没有运行函数的触发器。请参阅可用触发器列表。恐怕解决方案只能是一种变通方法。您好,我发布了一个答案,希望这对您有所帮助。如果您没有解决其他问题,因为您应该关注单个特定问题,请使用第二个附加问题(与第一个问题完全无关)应该在另一个帖子中被问到。请注意,包含多个无关问题的帖子可能会被关闭。非常感谢你的帮助。它与我一起工作。@ DucNguyen不受欢迎。请考虑,如果它解决了你的问题。拉姆布利克斯哦,我只是嘀嘀“接受这个答案”,你的答案。它很好地解决了我的问题。还有一个问题作为下面的链接。你能看看你的便利吗?干杯,@DucNguyen Hi!我看到有人已经发布了你新问题的答案,我想这会解决你的问题。@lamblichus,我已经解决了。非常感谢。
function writeSheetNames() {
  const ss = SpreadsheetApp.getActive();
  const sheetNames = ss.getSheets().map(sheet => [sheet.getName()]);
  const sheet = ss.getSheetByName("Sheet1");
  sheet.getRange("A:A").clear(); // Delete previous data
  sheet.getRange(1,1,sheetNames.length).setValues(sheetNames);
}