About This File
Library to import iCal files and create events in your Outlook calendar.
Note: This is a beta version - script breaking changes may occur at any time!
Prerequisite: OutlookEX UDF.
The following components and properties have been implemented (full or partial).
iCal PROPERTY SECTION IN RFC 5545 OUTLOOK PROPERTY COMMENT ------------------ ------------------- ------------------------- --------------------------------------------- VEVENT:CATEGORIES Section 126.96.36.199. Categories VEVENT:CLASS Section 188.8.131.52. Sensitivity olNormal, olPrivate or olConfidentional. olPersonal not used. VEVENT:DESCRIPTION Section 184.108.40.206. Body VEVENT:LOCATION Section 220.127.116.11. Location VEVENT:PRIORITY Section 18.104.22.168. Importance VEVENT:SUMMARY Section 22.214.171.124. Subject VEVENT:DTEND Section 126.96.36.199. End specifies the non-inclusive end of the event VEVENT:DTSTART Section 188.8.131.52. Start VEVENT:DURATION Section 184.108.40.206. End used to calculate the end property VEVENT:TRANSP Section 220.127.116.11. BusyStatus VALARM:TRIGGER Section 18.104.22.168. ReminderMinutesBeforeStart Only the minutes section of the duration is processed
The download contains 2 files: The UDF (iCal.au3) and an example script (iCal_VEventImport.au3). The test iCal file (Test.ics) is created on the fly holding two events.
When you run the example script only one event gets written to your default calender for today. The second event is suppressed by the callback function.
Debugging is enabled, so you get a full listing on the SciTe console how the iCal file gets processed.
Format of the example iCalendar file:
BEGIN:VCALENDAR VERSION:2.0 ; Ignored METHOD:PUBLISH ; Ignored PRODID:-//iCal UDF//iCal Generator//DE ; Ignored BEGIN:VEVENT CLASS:PRIVATE ; Sensitivity: Private PRIORITY:3 ; Importance: High CATEGORIES:TEST ; Categories: Test (needs to be modified to your liking) CREATED:20190110T032002Z ; Ignored LAST-MODIFIED:20190110T032002Z ; Ignored DTSTAMP:20190110T032002Z ; Ignored SUMMARY:HOLIDAY ; Subject DTSTART;VALUE=DATE:20190118 ; Start date DURATION:P2D ; Duration: 2 days. Is used to calculate the end date URL:http://www.google.com ; Ignored DESCRIPTION:All Holidays ; Body TRANSP:OPAQUE ; BusyStatus: Busy LOCATION:Room 123 ; Location UID:TEST_2019_5c36abd73c75e ; Ignored BEGIN:VALARM TRIGGER:PT30M ; Alarm: 30 minutes prior to the event ACTION:DISPLAY ; Ignored DESCRIPTION:Reminder ; Ignored END:VALARM END:VEVENT END:VCALENDAR
Known Bugs: (last changed: 2019-01-22)
Things to come: (last changed: 2019-02-08)
BTW: If you like this UDF please click the "I like this" button. This tells me where to next put my development effort
What's New in Version 0.2.0.0
A callback function has been added. You can skip events (based on the Outlook item properties extracted from the ics-file and passed to the callback function) or cancel the import for all remaining events.
This is a script breaking change as the parameter has been inserted before the $iDebug parameter.
- Destination can be the Console or a file. Timestamp has been added.
- The Outlook properties used to generate the event item can be logged as well
- Creating the event item in Outlook can be suppressed. You get the full debug log and the function return value without modifying Outlook.
- Enhanced error handling
- Enhanced documentation