Vyžaduje Google konto s kalendárom a dokumentami. Po kliku na working hours len nastavíte dátum "od" a vyberiete kalendár. Zobrazia sa všetky výsledky do dnešného dňa Na https://drive.google.com kliknúť vytvoriť dokument -> tabulka V tabuľke kliknite v hornom menu na Nástroje->Editor Skriptov Vložte skript a uložtefunction listEvents(e) { var calendar_name = e.parameter.calendar; var startDate = new Date(e.parameter.year, e.parameter.month - 1, e.parameter.day); var endDate = new Date(); var Calendar = CalendarApp.getCalendarsByName(calendar_name); var sheetName = calendar_name + "-" + e.parameter.year + "-" + e.parameter.month; var events = Calendar[0].getEvents(startDate , endDate); if (events[0]) { var eventarray = new Array(); var line = new Array(); line.push('Datum'); line.push('Ukon'); line.push('Zaciatok'); line.push('Koniec'); line.push('Cas'); eventarray.push(line); var i = 0; for (i = 0; i < events.length; i++) { line = new Array(); var st = events[i].getStartTime(); var et = events[i].getEndTime(); line.push(st.getDate() + "." + (st.getMonth()+1) + "." + st.getYear()); line.push(events[i].getTitle()); line.push(st.getHours() + ":" + st.getMinutes()); line.push(et.getHours() + ":" + et.getMinutes()); line.push((events[i].getEndTime() - events[i].getStartTime()) / 3600000); eventarray.push(line); } line = new Array(); line.push(''); line.push(''); line.push(''); line.push('Spolu'); line.push(''); eventarray.push(line); var sheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet(sheetName); sheet.getRange('A1:E' + (i+2)).setValues(eventarray); sheet.getRange('E' + (i+3)).setFormula('=SUM(E2:E' + (i+2)+ ')'); } else { Browser.msgBox('nothing between ' + startDate + ' till ' + endDate); } var app = UiApp.getActiveApplication(); app.close(); return app; } function workingHoursTool() { var doc = SpreadsheetApp.getActiveSpreadsheet(); var app = UiApp.createApplication().setTitle('Export working hours'); // Create a grid with 3 text boxes and corresponding labels var grid = app.createGrid(4, 2); grid.setWidget(0, 0, app.createLabel('Calendar name:')); var list = app.createListBox(); list.setName('calendar'); grid.setWidget(0, 1, list); var calendars = CalendarApp.getAllCalendars(); for (var i = 0; i < calendars .length; i++) { list.a list.addItem(calendars[i].getName()); } grid.setWidget(1, 0, app.createLabel('Year:')); grid.setWidget(1, 1, app.createTextBox().setName('year')); grid.setWidget(2, 0, app.createLabel('Month')); grid.setWidget(2, 1, app.createTextBox().setName('month')); grid.setWidget(3, 0, app.createLabel('Day')); grid.setWidget(3, 1, app.createTextBox().setName('day')); // Create a vertical panel.. var panel = app.createVerticalPanel(); // ...and add the grid to the panel panel.add(grid); // Create a button and click handler; pass in the grid object as a callback element and the handler as a click handler // Identify the function b as the server click handler var button = app.createButton('submit'); var handler = app.createServerClickHandler('listEvents'); handler.addCallbackElement(grid); button.addClickHandler(handler); // Add the button to the panel and the panel to the application, then display the application app in the Spreadsheet doc panel.add(button); app.add(panel); doc.show(app); } function onOpen() { setMenus(); } function setMenus() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var menuEntries = [{name: "Export from calendar", functionName: "workingHoursTool"}]; ss.addMenu("Working Hours", menuEntries); } |
Makro pre google documents - Export z google calendar
Vyžaduje Google konto s kalendárom a dokumentami. Po kliku na working hours len nastavíte dátum "od" a vyberiete kalendár. Zobrazia sa všetky výsledky do dnešného dňa Na https://drive.google.com kliknúť vytvoriť dokument -> tabulka V tabuľke kliknite v hornom menu na Nástroje->Editor Skriptov |