Last active
October 13, 2018 12:59
-
-
Save mwalzer/510e98a46163a097a017f89e39216b4c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Will add events per row from a spreadsheet in a calendar. | |
* | |
* Events are expected to start being described from row 'startRow' on, | |
* having the time in the first column in HH:MM format (full 24h!), the name of the event in | |
* second column (empty entries will make the row being ignored), and third and fourth column | |
* values added each as a line in the event description. | |
*/ | |
function createCalendarEvent() { | |
var sheet = SpreadsheetApp.getActiveSheet(); | |
var calendar = CalendarApp.getCalendarById('dd74c3utahtqn0ji20sdqqcsng@group.calendar.google.com'); //ProteinDay2018 | |
var startRow = 2; // First row of data to process - 2 exempts my header row | |
var numRows = sheet.getLastRow(); // Number of rows to process | |
var numColumns = sheet.getLastColumn(); | |
var dataRange = sheet.getRange(startRow, 1, numRows-1, numColumns); | |
var data = dataRange.getValues(); | |
for (var i = 0; i < data.length; ++i) { | |
var row = data[i]; | |
var etime = row[0]; // should be parsed as Date object, will be 1899 - needs to be reset | |
var categ = row[1]; | |
var speaker = row[2]; | |
var title = row[3]; | |
if ( etime instanceof Date && categ !== null ) { | |
etime.setFullYear(2018,9,12); | |
var event = calendar.createEvent(categ, etime, etime, { description: speaker + '\r' + title }); | |
Logger.log('Event ID: ' + event.getId()); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment