添加新行时自动插入日期戳
Posted
技术标签:
【中文标题】添加新行时自动插入日期戳【英文标题】:Insert Datestamp automatically when a new row is added 【发布时间】:2020-02-20 21:00:58 【问题描述】:我正在通过 Zapier 从我们网站上提交的表单中收集数据。每次提交表单时,Zapier 都会自动向 Google 表格添加一个新行,并将数据填充到 B:L 列。 A 列是我希望每一行都有一个日期戳 (YYYY-MM-DD) 的地方。
目前我有这个脚本,我在网上找到的。如果我手动编辑工作表,这将有效。但是,当 Zapier 将数据推送到工作表 (https://docs.google.com/spreadsheets/d/1HnxQmAQlLVLsLG_RKJwkmzzObwlwe8hHlAHd65zLjSc/edit?usp=sharing) 时,脚本不会触发。
function onEdit(event)
var timezone = "GMT+2";
var timestamp_format = "YYYY-mm-dd"; // Timestamp Format.
var updateColName = "Country";
var timeStampColName = "Date";
var sheet = event.source.getSheetByName('Sheet1');
var actRng = event.source.getActiveRange();
var editColumn = actRng.getColumn();
var index = actRng.getRowIndex();
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
var dateCol = headers[0].indexOf(timeStampColName);
var updateCol = headers[0].indexOf(updateColName); updateCol = updateCol+1;
if (dateCol > -1 && index > 1 && editColumn == updateCol) // only timestamp if 'Last Updated' header exists, but not in the header row itself!
var cell = sheet.getRange(index, dateCol + 1);
var date = Utilities.formatDate(new Date(), timezone, timestamp_format);
cell.setValue(date);
我应该如何编辑此脚本以使其与自动行更新一起使用?或者有人有另一个脚本供我尝试吗?
【问题讨论】:
您能否准确分享一下您的 Zapier 步骤流程是什么?是否将 Zapier Webhooks 作为触发器,然后将 Add Row to Google Sheet 作为操作步骤? 【参考方案1】:onEdit
函数 does not trigger when used with the API。所以,简短的回答是否定的。
但是,您可以尝试修改 Zappier 挂钩以添加时间戳。
希望这会有所帮助!
【讨论】:
感谢您的意见。不幸的是,在这种情况下,修改 Zapier 挂钩将无济于事,因为它无法将时间戳发送到 Google 表格。以上是关于添加新行时自动插入日期戳的主要内容,如果未能解决你的问题,请参考以下文章