【发布时间】:2013-02-01 20:09:58
【问题描述】:
在运行发布为 Web 应用的 UI 应用之前,有没有人遇到过这个错误?:
Error encountered: Cannot find method (class)getRange((class),number,number,number).
我用谷歌搜索了这个短语,结果为零。
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;
}
这里有来自 Google 的人愿意提供帮助吗?
【问题讨论】:
-
我现在什至从几个小时前保存的版本中收到此错误。