У меня есть код, который добавляет строку к каждому редактированию, внесенному в электронную таблицу, со следующими данными:
Date, Time, Sheet Name, Cell Location, User
Код:
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var timestamp = new Date();
var sheetName = sheet.getName();
sheet.appendRow([Utilities.formatDate(timestamp, "GMT", "dd-MMM-yyyy"),
Utilities.formatDate(timestamp, "GMT", "E"),
Utilities.formatDate(timestamp, SpreadsheetApp.getActiveSpreadsheet().getSpreadsheetTimeZone(), "HH:mm:ss"),
sheetName,
sheet.getActiveCell().getA1Notation(),
Session.getActiveUser().getEmail()]);
}
Что я действительно хочу сделать, так это сделать гиперссылку «Расположение ячейки» с помощью этой функции:
sheet.getRange(1,1)
.setValue('=hyperlink("https://docs.google.com/spreadsheets/d/'+ss.getId()
+'/edit#gid='
+ss.getActiveSheet().getSheetId()
+'&range='
+sheet.getActiveCell().getA1Notation()+'")');
Итак, окончательный код:
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var timestamp = new Date();
var sheetName = sheet.getName();
sheet.appendRow([Utilities.formatDate(timestamp, "GMT", "dd-MMM-yyyy"),
Utilities.formatDate(timestamp, "GMT", "E"),
Utilities.formatDate(timestamp, SpreadsheetApp.getActiveSpreadsheet().getSpreadsheetTimeZone(), "HH:mm:ss"),
sheetName,
.setValue('=hyperlink("https://docs.google.com/spreadsheets/d/'+ss.getId()
+'/edit#gid='
+ss.getActiveSheet().getSheetId()
+'&range='
+sheet.getActiveCell().getA1Notation()+'")'),
Session.getActiveUser().getEmail()]);
}
Но это не работает. Любой совет будет оценен.
Я подозреваю, потому что я начал это, но с .setValue () .. Просто выглядит неправильно, но я не уверен ..
Спасибо