如何使用谷歌脚本迭代所有工作表?

问题描述 投票:0回答:3

我想遍历谷歌电子表格中的所有选项卡并获取它们的名称。我尝试使用这个功能:

function init(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
 for (var i = 0; i < sheets.length; i++) {
    var r = sheets[i]
    Logger.log("sheet name:", r)
}
}

但是我从中得到的输出是:

sheet name: Sheet
sheet name: Sheet
sheet name: Sheet
sheet name: Sheet
sheet name: Sheet

关于我做错了什么的任何建议。

javascript google-apps-script google-sheets
3个回答
2
投票

该脚本正在记录工作表对象

{}
,当字符串化时,该对象返回文字
Sheet
字符串。您需要通过调用
Sheet
类的方法来获取它的名称
getName()
:

Logger.log("sheet name:", r.getName())

1
投票

您可以通过一行代码真正实现您的目标:

function init(){
SpreadsheetApp.getActive().getSheets().forEach(r=>Logger.log("sheet name:", r.getName()));
}

正如TheMaster提到的,您需要获取工作表的名称。您现在正在记录 sheet 类实例


0
投票
function init() {
  var file = SpreadsheetApp.getActiveSpreadsheet();
  var sheets = file.getSheets();

  for (var i = 0; i < sheets.length; i++) {
    var sheetName = sheets[i].getName();
    Logger.log("sheet name: ", sheetName);
  }
}

我正在尝试 TheMaster 的建议,但我的输出是:

sheet name: 
sheet name: 
sheet name: 
sheet name: 
sheet name: 
sheet name: 
sheet name: 
sheet name: 

我做错了什么?只是几行,我没想到我已经失败了that

© www.soinside.com 2019 - 2024. All rights reserved.