google-apps-script - 更改时的 Google 表格时间戳
问题描述
我想要实现的目标非常简单,但是我对 Google Sheet Script Editor 感到非常不舒服。
我希望在活动工作表上发生变化时更新某个单元格中的日期。
这就是我到目前为止得到的:
//Timestamp on change
function timestampOnChange() {
getActiveCell().setValue(new Date());
}
但是,即使已经返回错误消息:/
解决方案
解释:
您需要创建特定函数的onChange()触发器,当电子表格更改内容或结构时,它将更新活动工作表的特定单元格。
该
updateCell()
函数使用活动工作表的当前时间戳更新B1的值。我建议您使用以下方法更新特定工作表而不是活动工作表:
const sh = ss.getSheetByName('Sheet1');
代替:
const sh = ss.getActiveSheet();
解决方案:
更详细地说,该
createOnChangeTrigger()
函数将创建触发器,该触发器将在电子表格文件的内容或结构发生变化时onChange()
执行,在我们的例子中是活动工作表。updateCell()
function createOnChangeTrigger(){ const ss = SpreadsheetApp.getActive(); ScriptApp.newTrigger("updateCell") .forSpreadsheet(ss) .onChange() .create(); } function updateCell(){ const ss = SpreadsheetApp.getActive(); const sh = ss.getActiveSheet(); sh.getRange('B1').setValue(new Date()); }
指示:
在脚本编辑器中复制/粘贴这两个函数并createOnChangeTrigger()
只执行一次。
参考:
推荐阅读
- javascript - 如何使用 jquery 在页面加载时生成动态下拉列表?
- express - 在浏览器端缓存 Express REST 路由
- java - AttributeConverter convertToEntityAttribute 循环记录并总是得到空值?
- javascript - 如何从 lodash 获取对象值?
- c# - 空引用在 C# 中基本上是全零指针吗?
- php - 推荐短代码也显示在我的网站上?如何避免这个问题
- java - 当 http 连接超时时为 TextView 设置文本
- python - 将多个唯一表单关联到 Django 中的唯一对象
- java - 批量阅读 Couchbase 文档
- wordpress - Wordpress 网站 - 选择链接时重定向过多