Google Scripts получает день недели - PullRequest
0 голосов
/ 05 апреля 2020

Я пытаюсь преобразовать некоторые Excel VBA (которые работали как шарм) в сценарии Google, но я застреваю при обработке дат.

Я извлекаю дату из ячейки в Sheets и затем тестирование, если это выходные или нет. Ячейка была отформатирована как дата, и я объявил ее как date ()

var DayOpen = date();
DayOpen = spreadsheet.getSheetByName('Basics').getRange(1, 1).getValue();
if (DayOpen.getDay() > 6) ...

Однако я не получаю целое число от этого. Я совершенно новичок в скриптах Google, но у меня болит голова.

Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 05 апреля 2020

Вам не нужно объявлять DayOpen как дату.

[FWIW, var DayOpen = date(); означает, что для переменной задано значение, возвращаемое функцией date()]

Следующее должно сделать трюк:

function sampleScript() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var DayOpen = spreadsheet.getSheetByName('Basics').getRange(1, 1).getValue();
  Logger.log(DayOpen); // Should log a date if A1 has one.
  Logger.log(DayOpen.getDay());  // Should log day of the week as an integer
}
0 голосов
/ 05 апреля 2020
var DayOpen = new Date(spreadsheet.getSheetByName('Basics').getRange(1, 1).getValue()).getDay();
if (DayOpen==0 || DayOpen==6) {
  SpreadsheetApp.getUi().alert('It\'s the weekend.')
}
0 голосов
/ 05 апреля 2020

Нашли это! Это то, что я должен был сделать, чтобы увеличить день на 1:

DayOpen.setDate(DayOpen.getDate() + 1

. Получает дату, добавляет ее, а затем устанавливает дату.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...