尝试做一些看似简单的事情:
我在Google脚本中有一个小的gui应用程序。我想创建一个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);
总结一下:我无法根据Google表格单元格显示另一天的datePicker。
感谢您的帮助。
答案 0 :(得分:0)
日期选择器具有setValue()方法,因此您应该能够使用普通日期对象设置其值...但似乎已被破坏。 dateBox具有相同的方法,但它按预期工作。
这是问题跟踪器的问题,我很害怕。 (刚补充说:issue 4282但是UiApp不再被更新,所以我猜这个bug会永远存在......)
演示代码:
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;
}
在这个例子中,我将脚本中的日期设置为1958年2月19日,但是从电子表格中读取的日期当然也可以。
PS:这是我的生日约会,我知道我已经老了; - )