google-apps-script - 每次按“记录”按钮时如何在新行上记录动态值?也是每小时自动?
问题描述
因此,当我按下“记录”按钮时,我希望 Google 表格自动将新行添加到这张名为“HISTORY_1”的表格中,并将当前值导入到这张表格的第一行。这些值是通过 API 导入的,但在这个虚拟文件中,为了简单起见,我只使用 GOOGLE FINANCE。还应在第一列添加日期。
我该怎么做呢?使用脚本编辑器还是有更简单、更清洁的方法来做到这一点?
还有可能让谷歌表格每小时或任何其他时间段更新这些值并将它们记录到一个新行中,这样我就不必每小时左右打开文件并自己这样做?
这是一个包含一些虚拟数据的文件:
https://docs.google.com/spreadsheets/d/1ExXtmQ8nyuV1o_UtabVJ-TifIbORItFMWjtN6ZlruWc/edit?usp=sharing
编辑:我做到了!谢谢
解决方案
function getSheetWithName(name) {
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
for (var idx in sheets) {
if (sheets[idx].getName() == name) {
return sheets[idx];
}
}
return null;
}
function RECORD_HISTORY() {
var historySheetName = "HISTORY_2";
var historySheet = getSheetWithName(historySheetName);
if (historySheet == null) {
historySheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet(historySheetName, 1);
}
//setupHistoryHeader(historySheet)
range = historySheet.getRange(2, 1, 1, 20);
var values = range.getValues();
values[0][0] = new Date();
historySheet.appendRow(values[0]);
}
推荐阅读
- python - asyncio.wait_for 超时后如何清理?
- linux - 使用python停止进程
- java - 为什么从静态初始化程序启动线程并等待其完成会导致死锁?
- r - 删除标签之间的字符串 ()
- azure - Azure Pipeline (YAML) 将一个空解决方案部署到我的 FunctionApp
- javascript - C# DateTime 到 Javascript 日期
- string.format - java String.format - 如何在两个字符之间放置一个空格
- sublimetext3 - 使用“open_file”命令打开特定行号的文件
- html - 显示 HTML
- css - 如何仅使用 CSS 访问字体为“courier new”的文本?