【问题标题】:Unable to getSheet ID in Google Apps Script无法在 Google Apps 脚本中获取工作表 ID
【发布时间】:2020-12-15 00:14:59
【问题描述】:

我一直在尝试使用以下方法从 [this answer][1] 获取活动工作表 ID:

function getActiveSheetId(){
  var id  = SpreadsheetApp.getActiveSheet().getSheetId();
  Logger.log(id.toString());
  return id;
}

但我的记录器记录为 0。还有其他方法可以得到相同的结果吗?我想从另一个工作表文件中读取此工作表,然后执行操作。

[1]: https://stackoverflow.com/questions/26682269/get-google-sheet-by-id#:~:text=filter(%20function(s)%20%7B,Logs%20or% 20use%20the%20调试器。

【问题讨论】:

  • 新建电子表格时,第一张表格的表格ID默认为0。这是目前谷歌方面的规范。我认为在您的情况下0 可能是由于这个原因。这个怎么样?但如果我对您的问题的理解不正确,我深表歉意。

标签: google-apps-script google-sheets google-sheets-query


【解决方案1】:

代码没有问题。

如果将此函数应用于第一张工作表,则返回 0,这是正确的工作表 ID,您可以从页面的 url 中看到:

如果您将相同的功能应用于不同的工作表,您将再次获得正确的工作表 ID:


如果您想通过 id 获取一张工作表,请参考这篇文章:

Get Google Sheet by ID?

  • 示例:

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

例如,如果您想获取第一张工作表 (id=0),请执行以下操作:

var sheet = getSheetById(0);

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

【讨论】:

    猜你喜欢
    • 2017-08-06
    • 2019-09-22
    • 1970-01-01
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多