Этот код работает хорошо для меня, но сегодня (когда я модифицировал ячейку) я заметил, что сценарий создает дату, которая на месяц отстает от фактической даты (т. Е. сегодня 6/5/2013, но сценарий выпущен 5/5/2013). Может ли кто-нибудь увидеть, что может вызвать эту проблему?Скрипт «Row Last Modified» порождает неправильный месяц
// * based on the script "insert last modified date" by [email protected] *
// Update cell with the the last modified time of any (single) cell in that row, excluding row 1 and column 1
function onEdit() {
var d = new Date();
// format date nicely
var month_str = d.getMonth();
var day_str = d.getUTCDate();
var year_str = d.getYear().toString().substring(2);
// create the formatted time and date strings
var date_str = month_str + '/' + day_str + '/' + year_str;
// create the message (change this to whatever wording you prefer)
// note also that rather than all the above, you could just use d.toString()
// I didn't because I didn't want it printing the timezone.
var s = date_str;
var active_range = SpreadsheetApp.getActiveRange();
if (active_range.getHeight() == 1 && active_range.getWidth() == 1 && active_range.getRow != 1 && active_range.getColumn() != 1) {
var update_row = active_range.getRow().toString();
var update_cell = "AF" + update_row;
SpreadsheetApp.getActiveSheet().getRange(update_cell).setValue(s);
}
}
Спасибо Daniel, ваши исправления работал отлично! Я не создавал этот скрипт (и не знал бы, как это сделать, если бы захотел!), Но я рад, что смог продолжить его использовать! – user2457327