Javascript 接收错误消息TypeError:无法调用方法;getSheetByName";以前工作的系统上的空值

Javascript 接收错误消息TypeError:无法调用方法;getSheetByName";以前工作的系统上的空值,javascript,google-apps-script,Javascript,Google Apps Script,我有几个不同的系统,它们使用以下代码访问底层的电子表格 var mainLinks = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Main"); 他们已经工作了6个月,但我现在收到下面的错误与参考上述行 TypeError: Cannot call method "getSheetByName" of null. 这个方法改变了吗?有没有关于如何解决这个问题的建议?谢谢 一切都没有改变。您当前没有活动的电子表格。根据for

我有几个不同的系统,它们使用以下代码访问底层的电子表格

 var mainLinks = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Main");
他们已经工作了6个月,但我现在收到下面的错误与参考上述行

 TypeError: Cannot call method "getSheetByName" of null.

这个方法改变了吗?有没有关于如何解决这个问题的建议?谢谢

一切都没有改变。您当前没有活动的电子表格。根据for
SpreadsheetApp.getActiveSpreadsheet

返回当前活动的电子表格,如果没有,则返回null

因此,
SpreadsheetApp.getActiveSpreadsheet()
返回
null
,因为您当前没有活动的电子表格,所以尝试调用null上的方法并获得预期的错误

无法调用null的方法“getSheetByName”

避免错误的一个简单修复方法是像这样检查
null

 var mainLinks;
 var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
 if (activeSpreadsheet !== null) {
     mainLinks = activeSpreadsheet.getSheetByName("Main");
 } else {
     // handle case where there is no active spreadsheet
 }
有很多原因导致您可能没有活动的电子表格,如果没有更多信息,我们无法确定,但您可以尝试

sheet = SpreadsheetApp.openById(**your spreadsheet key**).getActiveSheet()

要找到电子表格键,请打开电子表格并查看浏览器地址栏:键是
键=
和第一个非字母数字字符之间的位,通常是
&
,如
#gid
&pli=1
我不知道这个电子表格应用程序,但是消息说getActiveSpreadsheet方法,其中getSheetByName方法为空


根据方法名称,SpreadsheetApp未启用。它可能已经过期了,或者类似的东西。

谢谢,但我有点困惑。这是一个google应用程序脚本,它绑定到一个电子表格,其中有一个web应用程序使用这些表格中的数据。绑定的电子表格不应该是活动电子表格吗?我刚刚添加了一个建议,让您的活动电子表格加入到我的答案中。希望能有帮助。如果没有关于你应用程序的更多信息,我很难提供更多帮助谢谢你的帮助。我用这种方法让我们的关键代码/网络应用程序重新工作。