Google脚本卡在getRange上

时间:2019-05-14 16:27:15

标签: google-apps-script google-sheets

Google脚本运行,但在.getrange("")期间超时。已经运行了几个小时。总体而言,Google应用的运行速度变慢,因此我们需要重启路由器。问题似乎已经解决。

所有google脚本功能都在几个小时前开始工作,没有对代码进行任何更改,也没有对电子表格进行结构更改。

在chrome上运行google脚本的Google表格。
删除的缓存和cookie。
删除了离线同步。
使用脚本创建了电子表格的副本,所有功能均无法运行。
根据历史记录创建了一个副本(当前版本历史记录,因此是当前工作表的副本),并且功能运行
我尝试在电子表格上重新创建范围,尝试使用A1Notation处理范围,但仍然一无所获。

function DraftEmail(){
var selectedRow = SpreadsheetApp.getActiveSheet().getActiveRange().getRowIndex();
var clientName = SpreadsheetApp.getActiveSheet().getRange("EmailCouplesName").getCell(selectedRow, 1).getValue();  

And my execution log:

[19-05-14 08:40:28:770 PDT] Starting execution
[19-05-14 08:40:28:776 PDT] SpreadsheetApp.getActiveSheet() [0 seconds]
[19-05-14 08:40:28:776 PDT] Sheet.getActiveRange() [0 seconds]
[19-05-14 08:40:28:777 PDT] Range.getRowIndex() [0 seconds]
[19-05-14 08:40:28:777 PDT] SpreadsheetApp.getActiveSheet() [0 seconds]
[19-05-14 08:46:41:681 PDT] Sheet.getRange([EmailCouplesName]) [372.903 seconds]
[19-05-14 08:46:41:782 PDT] Execution failed: Exceeded maximum execution time [372.906 seconds total runtime]

因此它被卡在.getrange()

1 个答案:

答案 0 :(得分:0)

如果使用命名范围,则应在spreadsheet上调用getRangeByName

function DraftEmail(){
var selectedRow = SpreadsheetApp.getActiveSheet().getActiveRange().getRowIndex();
var clientName = SpreadsheetApp.getActive().getRangeByName("EmailCouplesName").getCell(selectedRow, 1).getValue();  

请确保您没有多个具有相同名称的范围。