2017-08-15 62 views
0

我有一个基于导入的大量导入和公式的电子表格。有时需要很长时间才能更新 - 现在右上角有一个进度条,当您将鼠标悬停在上面时,会弹出消息“计算公式”。它有一种编程方式来检测工作表何时重新计算?有没有办法确定电子表格完成计算的时间?

我想弹出一个框(烤面包?),表示表单繁忙,然后在表单完成重新计算后消失。

回答

1

不是。 像Importrange这样的易失性函数是电子表格稳定性的敌人。有时候他们会卡住重新计算,永远不会完成;这是因为创建副本通常会创建一个完成计算(最终)的版本。

如果使用许多基于它们的导入公式和公式,通常建议将导入公式替换为通过脚本进行预定导入。

+0

是的,我有十几个进口范围报表工作。不太清楚如何通过脚本来安排导入。 –

+0

甚至无法编辑我的评论,:-(5秒不是很长,无论如何,使用range.copyTo作为定时器上的事件设置的脚本? –

+0

您使用哪种方法取决于您是否想要整个工作表,它的数据或者只是一个范围被复制,你下面概述的方法看起来很好,你可以把它包装到一个函数中,所以你不需要每次都重新输入所有的API调用,只需要调用它的源url,sheet,range和目标表 –

1

这似乎工作至今:后

 SourceWB = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/185XVLyN4fFLds8Z7JIgkL6mGl1CC82maBmmVAhYP71g/"); 
SourceRange = SourceWB.getRangeByName("CoreElementExport"); 
SouceValues = SourceRange.getValues(); 
var sourceRows = SourceRange.getNumRows(); 
var sourceColumns = SourceRange.getNumColumns(); 

DestWB = SpreadsheetApp.getActive(); 
DestSheet = DestWB.getSheetByName("TaxonomyImport"); 
DestSheet.getDataRange().offset(0, 0, sourceRows, sourceColumns).setValues(SouceValues); 

东西,只是想用这个非常复杂的输入高科技...

相关问题