在运行作为 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;
}
谷歌的任何人都愿意提供帮助吗?