0

我有一个谷歌电子表格,可以从每小时更新的在线资源中导入和修改数据。我希望从电子表格中提取晚上 10 点更新的静态副本——本质上是特定时间的复制粘贴特别版。我正在使用以下脚本并将时间驱动触发器设置为晚上 10 点。该脚本从一张表的单元格 N5:N10 中提取数据(每小时更新一次),并仅将静态值粘贴到同一电子表格中第二张表的单元格 N5:N10 中。

function PasteValue()}

var ss = SpreadsheetApp.getActiveSpreadsheet();

var data= ss.getSheets()[1].getRange("N5:O10").getValues();

ss.getSheets()[2].getRange("N5:O10").setValues(data);

}

当我手动运行脚本时,它可以完美运行。但是,当我设置 Time-Driven 触发器并关闭工作表时,当我第二天早上检查时,导入的只是一系列静态“#######”。

有人对这个问题有任何见解吗?或者,如果有人有替代脚本或方法来使用公式或脚本在谷歌电子表格中自动复制粘贴值,我将不胜感激。

谢谢,罗恩

4

2 回答 2

1

当使用触发器 openById 而不是 getActive

function PasteValue()}
  var ss = SpreadsheetApp.openById(id);
  ss.getSheets()[1].getRange("N5:O10").copyTo(ss.getSheets()[2].getRange("N5"),{contentsOnly:true});
}
于 2013-05-23T23:46:57.067 回答
0

我认为当电子表格未打开即用户不在线时,您使用的公式(importdata 或 importhtml)不会计算。

您可以使用带有 urlfetchapp 的脚本。

于 2015-12-05T14:58:51.163 回答