Установить день объекта 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: это мой день рождения, я знаю, что я старый;-)