问题描述
每次运行非常简单的代码时,都会出现此错误“ 访问具有ID的文档时服务电子表格超时 ...”,其中我基本上是将数据从一个Google工作表复制到另一个使用getValues()
和setValues()
。
我不认为这是由于5M单元数的限制,因为相同的确切功能在另一个尺寸更大的Google表格中仍能很好地工作。所以我真的不明白问题出在哪里。
我试图创建一个空的GS并运行该函数,所以我只提取数据而没有任何其他计算,但是,它仍然给我同样的错误。
有什么原因吗?
以下代码作为参考:
function MyFunction(){
var pm_ss_0 = SpreadsheetApp.openById('...');
var pm_tab_0 = pm_ss_0.getSheetByName('...');
var pm_data_0 = pm_tab_0.getDatarange().getValues();
var target_ss_0 = SpreadsheetApp.getActiveSpreadsheet();
var target_tab_0 = target_ss_0.getSheetByName('...');
target_tab_0.clearContents();
var target_data_0 = target_tab_0.getRange(1,1,pm_data_0.length,pm_data_0[0].length).setValues(pm_data_0);
}
解决方法
此问题也已在Google's Issue tracker上报道
去那里给问题加注星标,以便获得更新。
,这个问题比网络上关于它的 95% 的评论所证明的更随意。我第一次遇到这种情况,它甚至影响了一个宏,它除了隐藏活动标签之外什么也没做。我无法使用脚本编辑器做任何事情。
我尝试简单地复制文档。 BION,这对我来说就是问题的结束。或者至少,到目前为止。
,我解决了在出现错误的行前后插入冲洗的问题。
SpreadsheetApp.flush();
ss.insertSheet("Report "+fogl.getName(),ss.getNumSheets());
//与我代码中的错误一致SpreadsheetApp.flush();