了解单元格谷歌工作表编辑历史的脚本

时间:2021-07-26 07:38:31

标签: javascript excel google-apps-script google-sheets

我正在处理一个多人的文件,我想做一个脚本,告诉我如何修改该单元格以及发生这种情况的时间,我只需要进行最后一次更改的电子邮件用户和时间example here,

到目前为止我得到了这个,这让我得到了电子邮件用户,但没有时间戳。

function history_version() { 
  var thisSS = SpreadsheetApp.getActiveSpreadsheet(); 
  var sheet1 = thisSS.getSheetByName('Data'); 
  var specialCell = sheet1.getRange("A1:A5"); 
  Logger.log(htmlEmail = "Cell " + specialCell.getA1Notation() +  " edited by " + Session.getActiveUser().getEmail())

}

感谢时间

1 个答案:

答案 0 :(得分:0)

答案:

如果您通过 onEdit 触发器触发函数,而不是从编辑器手动触发,您可以获得实际的 Date 编辑:

function onEdit() {
  var thisSS = SpreadsheetApp.getActiveSpreadsheet();
  var sheet1 = thisSS.getSheetByName('Data');
  var specialCell = sheet1.getRange("A1:A5");
  var now = new Date();
  Logger.log("Edited by " + Session.getEffectiveUser().getEmail() + " at " + now);
}

注意:

我使用了 getEffectiveUser 而不是 getActiveUser,因为后者在此上下文中可能不可用 (simple trigger)。另一种选择是改为 install the trigger(如果您要访问需要授权的服务,这将是必要的)。