【问题标题】:Apps Script onEdit Change LogApps 脚本 onEdit 更改日志
【发布时间】:2021-05-09 03:45:58
【问题描述】:

我是一个 AppsScript 初学者,试图编写一个脚本来自动跟踪电子表格,即,无论工作表中的状态列在哪里更改(从下拉列表中),都添加到单独的 Change Long 选项卡,以记录以前的值、新值、谁进行了更改以及何时更改。

我从下面开始,但不断出现错误。任何帮助将不胜感激!

      function onEdit(e) {  
  var changelogSheetName = "Change Log";
  var ss = "Form Responses 4"
  var timestamp = new Date();
  var newValue = cell.getValue(); 
  var typeChange = "Edit";
  //var customer = sheet.getRange('Form Responses 4!E1').getValue();
  
  var monColumn = 10;
  var startRow = 760;
  var column = e.range.getColumn();
  var row = e.range.getRow();

    if (currentSheetName == changelogSheetName) return;
  
  var changelogSheet = ss.getSheetByName(changelogSheetName);

  if (changelogSheet == null) {
    changelogSheet = ss.insertSheet(changelogSheetName, ss.getNumSheets()); 
   }
  
  changelogSheet.getRange('A1:G1').setBackground('#E0E0E0');  
changelogSheet.appendRow(["Timestamp", "Sheet", "Cell", "Type", "New Value", "User"]);  
  
      changelogSheet.deleteColumns(8,19);
    changelogSheet.setFrozenRows(1);
    changelogSheet.setColumnWidth(1, 170);
    changelogSheet.setColumnWidth(7, 170);
    changelogSheet.protect();
  
    var user = Session.getEffectiveUser().getEmail();
  
     changelogSheet.appendRow([timestamp,typeChange, newValue,customer, user]); }
     

【问题讨论】:

  • 未定义变量太多,无法为您提供任何帮助

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


【解决方案1】:

这使用可安装的触发器来创建使用电子表格的变更日志。

function onMyEdit(e) {
  const sh=e.range.getSheet();
  const excl=['excluded sheet names'];
  if(~excl.indexOf(sh.getName()))return;
  SpreadsheetApp.openById(gobj.globals.testsourceid).getSheetByName('Sheet1').appendRow([new Date(),Session.getActiveUser().getEmail(),sh.getName(),e.oldValue,e.value,e.range.getA1Notation()]);
}

gobj.globals.testsourceid 是更改日志电子表格的 id。

onedit event object

日志表:

5/8/2021 23:34:26 Redacted Sheet1 33 A1
5/8/2021 23:34:30 Redacted Sheet1 44 C2
5/8/2021 23:34:36 Redacted Sheet3 88 F10
5/8/2021 23:35:04 Redacted Sheet3 88 10 F10
5/8/2021 23:35:14 Redacted Sheet1 33 77 A1
5/8/2021 23:35:39 Redacted Sheet1 44 99 C2

【讨论】:

    猜你喜欢
    • 2015-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多