Установить день объекта datePicker в скрипте Google

Попытка сделать что-то, что кажется, должно быть простым:

У меня есть небольшое графическое приложение в скриптах Google. Я хотел бы, чтобы появился объект datePicker со значением (начальной датой) ячейки в электронной таблице, в которой работает приложение. Я просмотрел много подобных вопросов на stackOverFlow, но до сих пор не могу найти ответ, который работает.

Например, в ячейке (2,5) моего листа есть дата, отформатированная самим Google. Я хотел бы, чтобы DatePicker отображал эту дату. Вот где я нахожусь.

function testRun()
{
  var ss = SpreadsheetApp.getActive();
  var ui = UiApp.createApplication();
  var controls = ui.createVerticalPanel().setHeight(350).setWidth(350);
  var sheet = ss.getActiveSheet();

//Here I grab a cell's data.  It logs as a date: Sat May 02 00:00:00 GMT-05:00 2015
  var lastDay = sheet.getRange(2, 5).getValue();
  Logger.log(lastDay);

//Here I would like to display a datePicker with the date
  var datePicker = ui.createDatePicker();
  datePicker.setValue(new Date(lastDay));

//datePicker.setvalue(lastDay); also does not work.



  controls.add(datePicker);

Подводя итог: я не могу получить этот DatePicker для отображения другого дня, на основе ячейки листа Google.

Спасибо за помощь.

1 ответ

Решение

Средство выбора даты имеет метод setValue(), так что вы можете установить его значение с помощью обычного объекта даты... но, похоже, он не работает. DateBox имеет тот же метод, но работает как положено.

Я боюсь, это одна из проблем. (добавлено только сейчас: выпуск 4282, но UiApp больше не будет обновляться, поэтому я думаю, что эта ошибка останется там навсегда...)

демонстрационный код:

function doGet() {
  var app = UiApp.createApplication();
  app.add(app.createDateBox().setValue(new Date(1958,1,19,2,0,0,0)))
  app.add(app.createDatePicker().setValue(new Date(1958,1,19,2,0,0,0)))
  return app;
}

демо-приложение онлайн

введите описание изображения здесь

В этом примере я установил дату в сценарии на 19 февраля 1958 года, но дата, считанная из таблицы, конечно же, будет работать.

PS: это мой день рождения, я знаю, что я старый;-)

Другие вопросы по тегам