【发布时间】: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