有没有人在运行作为网络应用程序发布的UI应用程序之前遇到此错误?:
Error encountered: Cannot find method (class)getRange((class),number,number,number).
我用Google搜索了这句话,得出了零搜索结果。
Web应用程序从doGet()
加载正常,并且在小服务器处理程序运行后出现错误。事情是处理程序贯穿一切正常(处理程序功能结束时我的“处理...”标签切换可见性关闭),我正在调用的电子表格更新没问题。我检查了我的代码,我的所有getRanges都使用sheet.getRange(row,col,num,num)
格式正确。
昨天GAS表现得很奇怪,昨天他们更新了Ctrl-F查找功能时出现了一个奇怪的错误,但是通过简单刷新该页面就解决了这个问题。我在今天的新错误之后刷新了,但是在运行处理程序之后它仍然会出现。其他任何人遇到这个或有解决方案吗?
好吧,我已经将代码复制粘贴到另一个脚本中,并制作了我正在调用的电子表格的副本,但我仍然收到错误。根据谷歌的错误触发器,这是“违规”代码:
function addNewCo(e) {
var app=UiApp.getActiveApplication();
var newCoName=e.parameter.newCoName;
coSheet.appendRow([newCoName]);
coSheet.sort(1,true);
var coSheetValues=coSheet.getRange(2,1,coSheet.getLastRow()-1,coSheet.getLastColumn()).getValues();
app.getElementById('coNameLB').clear().addItem(newCoName).addItem('').addItem('Select Company ---');
for (i=0;i<coSheetValues.length;i++){ app.getElementById('coNameLB').addItem(coSheetValues[i][coSheetColNamesArray.indexOf('Company Name')]); }
app.getElementById('popupPanel').setVisible(false);
app.getElementById('GoBtn').setStyleAttribute('background','#2a9c3b').setEnabled(true);
app.getElementById('processingLbl').setVisible(false);
return app;
}
正如我上面所说,处理程序完成了它的功能,为什么会出现这个错误呢?
这真的很疯狂。我在追加和排序后删除了对工作表的任何引用,换句话说,我完全取出了处理函数中的getRange,但错误仍然不断出现!
function addNewCo(e) {
var app=UiApp.getActiveApplication();
var newCoName=e.parameter.newCoName;
coSheet.appendRow([newCoName]);
coSheet.sort(1,true);
app.getElementById('coNameLB').clear().addItem(newCoName).addItem('').addItem('Select Company ---');
app.getElementById('popupPanel').setVisible(false);
app.getElementById('GoBtn').setStyleAttribute('background','#2a9c3b').setEnabled(true);
app.getElementById('processingLbl').setVisible(false);
return app;
}
我甚至没有调用getRange,那么错误怎么会出现呢?
原谅。现在我从处理程序中取出了电子表格的任何提及,我仍然得到错误。什么怪谷歌?!? doGet()
函数加载正常,错误只出现在处理程序中 - 即使没有提及电子表格 - 世界上有什么?!?:
function addNewCo(e) {
var app=UiApp.getActiveApplication();
var newCoName=e.parameter.newCoName;
app.getElementById('coNameLB').clear().addItem(newCoName).addItem('').addItem('Select Company ---');
app.getElementById('popupPanel').setVisible(false);
app.getElementById('GoBtn').setStyleAttribute('background','#2a9c3b').setEnabled(true);
app.getElementById('processingLbl').setVisible(false);
return app;
}
我已将处理程序功能剥离,只是关闭弹出窗口,我仍然收到错误。
function addNewCo(e) {
var app=UiApp.getActiveApplication();
app.getElementById('popupPanel').setVisible(false);
return app;
}
谷歌的任何人都在这里寻求帮助吗?
答案 0 :(得分:3)
修正了它。我有一个文本框作为一系列字段的一部分,让其他焦点处理程序不应该存在。谷歌会非常有帮助,如果你有一个你的神秘错误及其含义的列表,如果行号显示在错误消息对话框弹出窗口指示问题所在,所以我们不必搜索数百行码。谷歌搜索来自谷歌应用程序脚本的错误消息是没有结果的,这是荒谬的。浪费了2个小时。