Создать отметку времени в указанной ячейке c в Google Sheets - PullRequest
0 голосов
/ 16 февраля 2020

Я пытаюсь создать метку времени в Google Sheet при редактировании указанной ячейки c. Мне нужно добавить метку времени в ячейку B2, когда ячейка A3 редактируется. Мне также нужно, чтобы отметка времени была записана в верхнем регистре (в формате «20 ФЕВРАЛЯ»). Я изменил формат даты в Google Sheets, чтобы он отображался как месяц, а не год, но он также нуждается в использовании заглавных букв (Google Sheets автоматически форматируется как «20 февраля»). У меня есть код

function onEdit(e) {

addTimestamp(e);

}


function addTimestamp(e){
//variables
var startRow = 3;
var targetColumn = 1;
var ws = "template";

//get modified row and column
var row = e.range.getRow();
var col = e.range.getColumn();

if(col === targetColumn && row >= startRow && e.source.getActiveSheet().getName() === ws){

var currentDate = new Date();

e.source.getActiveSheet().getRange(1,2).setValue(currentDate);
if(e.source.getActiveSheet().getRange(row,3),getValue() == ""){
  e.source.getActiveSheet().getRange(row,3).setValue(currentDate);
} //END IF check if date created exists
} //END IF check column, row, worksheet
} //END function addTimestamp 

1 Ответ

1 голос
/ 16 февраля 2020

Попробуйте это:

function onEdit(e) {
  //e.source.toast('Entry');
  var sh=e.range.getSheet();
  if(sh.getName()!='************Your sheet name here*********')return;
  if(e.range.columnStart==1 && e.range.rowStart==3) {
    var M=['JANUARY','FEBRUARY','MARCH','APRIL','MAY','JUNE','JULY','AUGUST','SEPTEMBER','OCTOBER','NOVEMBER','DECEMBER'];
    //e.source.toast('Flag1');
    var ts= M[new Date().getMonth()] + " " + new Date().getDate();
    //e.source.toast(ts);
    sh.getRange(2,2).setValue(ts);
  }
}
...