Как сравнить значение в ячейке (формат даты) с сегодняшней датой в скрипте - PullRequest
0 голосов
/ 27 сентября 2019
firstDate = SpreadsheetApp.getActiveSpreadsheet.getRange(1,5).getValue());
if (firstDate > Today()) {
spreadsheet.getRange('E2:E').activate();
    spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
    spreadsheet.getRange('E1').activate();
    spreadsheet.getRange('F1').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
    spreadsheet.getRange('E2').activate();
    spreadsheet.getRange('F2:U32').moveTo(spreadsheet.getActiveRange());
}

Метод здесь не является критическим, у меня возникли проблемы с выполнением оператора IF.Я просмотрел несколько примеров, и приведенный здесь код является одним из примеров, но ни один из них не работает для меня.

1 Ответ

0 голосов
/ 27 сентября 2019

Во-первых, вам нужно изменить SpreadsheetApp.getActiveSpreadsheet на SpreadsheetApp.getActiveSpreadsheet(), так как .getActiveSpreadsheet() является функцией.

В зависимости от формата даты в вашей ячейке, вы можете вызвать:

firstDate = SpreadsheetApp.getActiveSpreadsheet().getRange(1,5).getValue().getTime() 
var Today = new Date()
if (firstDate > Today.getTime(){
  //code
}

или вы можете передать значение в новую дату перед сравнением:

firstDate = new Date(SpreadsheetApp.getActiveSpreadsheet().getRange(1,5).getValue())
if (firstDate = Today()){
  //code
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...