0

我在谷歌表上有一个函数,它可以从 ESI 中推断数据并用所述数据填充行和列。由于数据变旧并且需要更新,因此可以方便地运行一个脚本来删除所述工作表的所有行和列(函数所在的 A1 除外)并重新运行该函数,以便用新数据重新填充它(有效地刷新工作表)。如果也可以只让它以大于或等于 24 小时的间隔执行,以免对数据服务器造成压力。

希望有人可以帮助我解决这个问题。

编辑:设法创建函数以刷新数据并重新运行自定义函数,但除了使用 sleep 命令外,还无法设置时间范围。

制作谷歌脚本我实现了这一点:

function refreshData() {

  var app = SpreadsheetApp; 
  var sheet1 = app.getActiveSpreadsheet().getSheetByName("sheet1");
  sheet1.getRange("A:K").clearContent();
   sheet1.getRange("A1").setValue("=customFunction()");
   //Utilities.sleep(1800000); - stops script for 30 minutes

}
4

1 回答 1

0

您可以使用时间驱动的触发器以refreshData您指定的频率运行函数。在这种情况下,您必须安装everyMinutes触发器。

您可以按照此处指定的步骤手动执行此操作,也可以通过复制并运行此函数一次以编程方式执行此操作:

function createTimeDrivenTrigger() {
  ScriptApp.newTrigger("refreshData")
  .timeBased()
  .everyMinutes(30) // Valid values are 1, 5, 10, 15 and 30
  .create();
}

笔记:

  • 不知道为什么要为此使用自定义公式,但我建议您通过常规 Apps 脚本函数更新数据。

参考:

于 2020-05-04T08:15:04.407 回答