【问题标题】:Google Sheet Script | Can I access a cell edit history via a script formula?谷歌表脚本 |我可以通过脚本公式访问单元格编辑历史吗?
【发布时间】:2019-12-09 17:20:54
【问题描述】:

我正在使用谷歌表格,我正在尝试找出一种方法来获取填充单元格的时间?我希望通过 google sheet 脚本访问这些信息。这甚至可能吗? 感谢您的宝贵时间。

【问题讨论】:

标签: google-apps-script google-sheets


【解决方案1】:

阅读您的问题后,我假设如下:

  • 您想检测特定单元格何时被修改。
  • 检测到修改后,您希望在另一个单元格中打印时间戳。

如果我的假设是正确的,您可以使用以下示例来实现您的要求:

代码

function onEdit(e) {
  if (e.range.getA1Notation() == "C4") {
    var timestamp = new Date().toLocaleTimeString('it-IT');
    SpreadsheetApp.getActive().getActiveSheet().getRange(4, 4).setValue(
      timestamp);
  }
}

行为

当用户对电子表格进行编辑时,代码将运行。它将检查修改后的单元格是否是所需的单元格(本例中为C4),如果是时间戳,则将其丢弃在计时单元格中(本例中为D4)。

观察

  • 此代码适用于电子表格的每个工作表。要使其专属于工作表,您应该使用 getSheet 方法s [as getSheetByName()]。
  • 由于onEdit 触发器限制,如果通过脚本进行修改(与用户编辑相反),此代码将不会运行。
  • 时间戳将打印在italian timezone 中,因为您的名字在我看来是意大利语。如果我弄错了您的时区,请原谅我。

典故

如有任何其他疑问,请随时给我回信或要求我进一步澄清。

【讨论】:

  • 感谢雅克的意见。是的,我是意大利人,很棒。我了解 onEdit 概念,但我试图在没有触发器的情况下实现此功能。所有这些都是为了一个多人使用的大 Excel 表,我想在一整天的工作后运行这样的脚本。
  • 你好@FedericoMinelli!我可以将代码修改为每天自动运行一次,但这将使用触发器。对你来说可以吗?
  • Jacques,如果你能为我做到这一点,那就太棒了。我想我现在可以在我的项目中实现触发器了。
  • 关于这个@Jacques-GuzelHeron 的任何更新??我也需要同样的:)
猜你喜欢
  • 2016-10-08
  • 1970-01-01
  • 2021-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多