Google apps script 是否有办法确定电子表格何时完成计算?

Google apps script 是否有办法确定电子表格何时完成计算?,google-apps-script,Google Apps Script,我有一个电子表格,里面有很多输入和基于输入的公式。有时更新需要很长时间——现在右上角有一个进度条,当您将鼠标悬停在上面时,它会弹出消息“计算公式”。是否有一种编程方式来检测何时完成图纸的重新计算 我想弹出一个框(toast?)说工作表正忙,然后在工作表重新计算完成后消失该框。不太可能。 像Importrange这样的易失性函数是电子表格稳定性的敌人。有时他们陷入重新计算的困境,永远无法完成;这并不是因为创建副本通常会创建一个最终完成计算的版本 如果使用许多导入公式以及基于这些公式的公式,通常建议

我有一个电子表格,里面有很多输入和基于输入的公式。有时更新需要很长时间——现在右上角有一个进度条,当您将鼠标悬停在上面时,它会弹出消息“计算公式”。是否有一种编程方式来检测何时完成图纸的重新计算

我想弹出一个框(toast?)说工作表正忙,然后在工作表重新计算完成后消失该框。

不太可能。 像Importrange这样的易失性函数是电子表格稳定性的敌人。有时他们陷入重新计算的困境,永远无法完成;这并不是因为创建副本通常会创建一个最终完成计算的版本


如果使用许多导入公式以及基于这些公式的公式,通常建议使用通过脚本的计划导入来替换导入公式。

到目前为止,这似乎是可行的:

        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);

之后的事情,只是尝试使用这个非常复杂的输入技术…

是的,我正在处理十几个导入范围语句。不太确定如何通过脚本安排导入。甚至无法编辑我的评论:-(5秒不是很长。无论如何,在设置为计时器事件的脚本中使用range.copyTo?使用哪种方法取决于您是要复制整个工作表、其数据还是仅复制一个范围。下面概述的方法似乎很好。您可以将其封装到函数中,这样就不需要每次重新键入所有API调用,只需调用wi源url、工作表、范围和目标工作表