无法在 Google Apps 脚本中获取工作表 ID

Unable to getSheet ID in Google Apps Script

我一直在尝试使用

从[这个答案][1]中获取活跃的sheet ID
function getActiveSheetId(){
  var id  = SpreadsheetApp.getActiveSheet().getSheetId();
  Logger.log(id.toString());
  return id;
}

但是我的记录器记录了 0。有没有其他方法可以得到相同的结果?我想从另一个 sheet 文件中读取这个 sheet 然后执行操作。

[1]:

代码没有问题。

它 returns 0 如果你把这个函数应用到第一个 sheet,这是正确的 sheet id,你可以从页面的 url 看到:

如果您将相同的函数应用于不同的 sheet,您将再次获得正确的 sheet id:


如果你想得到一个sheet然后参考这个post:

Get Google Sheet by ID?

  • 示例:

     function getSheetById(id) {
     return SpreadsheetApp.getActive().getSheets().filter(
      function(s) {return s.getSheetId() === id;}
    )[0];
    }
    

例如,如果你想获得第一个 sheet (id=0) 然后这样做:

var sheet = getSheetById(0);

然后您可以像往常一样将所有 sheet 操作应用于此 sheet