TypeError:无法调用null的方法“ getActiveSheet”。在myFunction(代码:6)

时间:2019-06-24 17:34:01

标签: google-apps-script google-sheets

在日志中,我可以看到应用已定义为SpreadsheetApp,但是getActiveSpreadsheet()返回null。依次导致getActiveSheet()说它不能调用null的方法。

我已经尝试清除浏览器历史记录,打开一个新的空白电子表格,但遇到相同的错误。

function myFunction() {
  var app = SpreadsheetApp; 
    Logger.log(app);
  var ss = app.getActiveSpreadsheet(); 
    Logger.log(ss);
  var activeSheet = ss.getActiveSheet();

TypeError:无法调用null的方法“ getActiveSheet”。在myFunction(代码:6)

1 个答案:

答案 0 :(得分:0)

问题:

您正在尝试运行独立脚本,就像它们已绑定到电子表格一样。 (使用getActive...

从类电子表格文档中

  

在电子表格的上下文中运行的函数可以通过调用此函数来获取对相应Spreadsheet对象的引用。


选项:

  1. 通过打开工作表并转到Tools > Script Editor,然后从那里运行脚本,将脚本绑定到电子表格。
  2. 使用getActiveSpreadsheet()SpreadsheetApp.openById('id')代替使用SpreadsheetApp.openByUrl('url')。这些将通过其唯一的ID或URL打开电子表格,并且可以在独立脚本中使用。

参考文献:

  1. Class SpreadsheetApp
  2. getActiveSpreadsheet
  3. openById()
  4. openByUrl()