getActiveSpreadsheet()始终返回null

时间:2018-04-30 17:01:05

标签: google-apps-script google-sheets

好的,我正在按照本教程here关于如何设置一个简单的Google App脚本,我被困在18:50 mark附近。我在收到与视频完全相同的内容时收到了错误消息。

我在Code.gs文件中有这段代码:

function myFunction() {

  var app = SpreadsheetApp;
  var ss = app.getActiveSpreadsheet();
  var activeSheet = ss.getActiveSheet();  

  activeSheet.getRange("D2").setValue(99);

}

并在另一个标签页中打开电子表格。但每当我尝试运行" myFunction"我收到以下错误消息:

TypeError: Cannot call method "getActiveSheet" of null. (line 5, file "Code")

因此出于某种原因,var ss = app.getActiveSpreadsheet();显然会返回null。当我用var ss = app.openById('MySpreadsheetIdHere');替换该行时它会起作用,但是对id的硬编码实际上并不是我想要的,我想使这个脚本适用于任意打开的电子表格。

通过Run>运行代码作为附加组件进行测试也不起作用。

a similar question我收集到,似乎很难重现这个问题,这里有重复的确切步骤:

  1. 以访客模式打开Chrome,没有扩展程序或任何其他内容
  2. 使用我的Google帐户登录Google云端硬盘
  3. 创建电子表格并保持打开状态
  4. 转到script.google.com并使用相同的Google帐户登录
  5. 创建一个新项目并复制/粘贴上面的代码
  6. run" myFunction" 6A。第一次运行时确认权限
  7. 得到错误
  8. 有人看到我错过了吗?

1 个答案:

答案 0 :(得分:2)

您错过了2:16 mark创建有界脚本的步骤:工具>脚本编辑器......