В моем документе на листе Gooogle на данный момент есть 4 ячейки, которые регулярно обновляются.Каждый раз, когда они обновляются, я хочу поставить отметку времени в отдельной ячейке.
Я могу заставить прикрепленный скрипт работать на 1 ячейку, но когда я дублирую скрипт, чтобы он работал на другую ячейку, он останавливает работу предыдущей.
function onEdit(event)
{
var timezone = "GMT+1";
var timestamp_format = "dd-MM-yyyy hh:mm:ss";
var updateColName = "Development Team Comments";
var timeStampColName = "To update select cell";
var sheet = event.source.getSheetByName('WIP');
var actRng = event.source.getActiveRange();
var editColumn = actRng.getColumn();
var index = actRng.getRowIndex();
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
var dateCol = headers[0].indexOf(timeStampColName);
var updateCol = headers[0].indexOf(updateColName); updateCol = updateCol+1;
if (dateCol > -1 && index > 1 && editColumn == updateCol) {
var cell = sheet.getRange(index, dateCol + 1);
var date = Utilities.formatDate(new Date(), timezone, timestamp_format);
cell.setValue(date);
}
}
Я также пробовал этот код, который, кажется, не работает для последующих ячеек:
function onEdit(event)
{
var timezone = "GMT+1";
var timestamp_format = "dd-MM-yyyy hh:mm:ss"; // Timestamp Format.
var updateColName = "Development Team Comments";
var timeStampColName = "To update select cell";
var sheet = event.source.getSheetByName('WIP'); //Name of the sheet where you want to run this script.
var responseArray = ["o update select cell", "Bupa time stamp","Date Stamp Move Live"];
var questionArray = ["Development Team Comments", "BDC proofing comments", "Approved Y"];
var actRng = event.source.getActiveRange();
var editColumn = actRng.getColumn();
var index = actRng.getRowIndex();
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
var dateCol = headers[0].indexOf(timeStampColName);
var updateCol = headers[0].indexOf(updateColName); updateCol = updateCol+1;
if (dateCol > -1 && index > 1 && editColumn == updateCol) { // only timestamp if 'Last Updated' header exists, but not in the header row itself!
var cell = sheet.getRange(index, dateCol + 1);
var date = Utilities.formatDate(new Date(), timezone, timestamp_format);
cell.setValue(date);
}
}
То, что я ожидаю, я должен быть в состоянии сделать, это иметь возможностьобновите любые ячейки и предоставьте им текущее время, как в приведенном выше сценарии.Нужно ли мне дублировать это или есть способ вставки в ссылки на ячейки.