(function() {
var sheet = Api.GetActiveSheet();
var cell = sheet.GetActiveCell();
// Получаем адрес активной ячейки вида "$B$88" и извлекаем буквы столбца и номер строки
var addr = cell.GetAddress().replace(/\$/g, '');
var match = addr.match(/([A-Z]+)([0-9]+)/);
var colLetters = match[1];
var rowNumber = match[2];
// Функция для вычисления следующего столбца (C → D, Z → AA и т.д.)
function nextColumn(col) {
var chars = col.split('');
var carry = 1;
for (var i = chars.length - 1; i >= 0; i--) {
var code = chars[i].charCodeAt(0);
if (carry) {
code++;
if (code > 'Z'.charCodeAt(0)) {
code = 'A'.charCodeAt(0);
carry = 1;
} else {
carry = 0;
}
}
chars[i] = String.fromCharCode(code);
}
if (carry) {
chars.unshift('A');
}
return chars.join('');
}
var nextCol = nextColumn(colLetters);
// Формируем строки с датой и временем
var now = new Date();
var dateStr = now.toLocaleDateString('ru-RU');
var timeStr = now.toLocaleTimeString('ru-RU');
// Записываем значения
sheet.GetRange(colLetters + rowNumber).SetValue(dateStr);
sheet.GetRange(nextCol + rowNumber).SetValue(timeStr);
})();