evilqubit

date time picker for google spreasheet in google docs

Mar 25th, 2013
359
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. function onOpen() {
  2. var ss = SpreadsheetApp.getActiveSpreadsheet();
  3. var menuEntries = [ {name: "insert date/time", functionName: "listBoxVersion"}
  4. ];
  5. ss.addMenu("DaTime", menuEntries);
  6. }
  7.  
  8. function listBoxVersion() {
  9. var app = UiApp.createApplication().setTitle('Time Picker');
  10. var main = app.createGrid(2, 4);
  11. var date = app.createDateBox().setName('date');
  12. var hour = app.createListBox().setName('hour').setWidth('100');
  13. var min = app.createListBox().setName('min').setWidth('100');
  14.  
  15. for (h=0;h<24;++h){
  16. if(h<10){var hourstr='0'+h}else{var hourstr=h.toString()}
  17. hour.addItem(hourstr)
  18. }
  19. for (m=0;m<60;++m){
  20. if(m<10){var minstr='0'+m}else{var minstr=m.toString()}
  21. min.addItem(minstr)
  22. }
  23. var button = app.createButton('validate')
  24. main.setWidget(0,0,app.createLabel('Choose Date')).setWidget(0,1,app.createLabel('Choose Hours')).setWidget(0,2,app.createLabel('Choose minutes'))
  25. main.setWidget(1,0,date).setWidget(1,1,hour).setWidget(1,2,min)
  26. main.setWidget(1,3,button)
  27. var handler = app.createServerHandler('show').addCallbackElement(main)
  28. button.addClickHandler(handler)
  29. app.add(main)
  30. ss=SpreadsheetApp.getActive()
  31. ss.show(app)
  32. }
  33.  
  34. function show(e){
  35. var cel1 = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getActiveCell().getA1Notation();
  36. ss=SpreadsheetApp.getActive()
  37. //ss.getRange(cel1).setValue(Utilities.formatDate(e.parameter.date,'GMT+02:00','MMM-dd-yyyy')+' @ '+e.parameter.hour+':'+e.parameter.min)
  38. var date = new Date(e.parameter.date);
  39. date.setHours(e.parameter.hour,e.parameter.min,0)
  40. ss.getRange(cel1).setValue(date)
  41. }
Add Comment
Please, Sign In to add comment