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