Jump to content

1 Screenshot

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).

------------------  -------------------  -------------------------  ---------------------------------------------
VEVENT:CATEGORIES   Section     Categories
VEVENT:CLASS        Section     Sensitivity                olNormal, olPrivate or olConfidentional. olPersonal not used.
VEVENT:LOCATION     Section     Location
VEVENT:PRIORITY     Section     Importance
VEVENT:SUMMARY      Section    Subject
VEVENT:DTEND        Section     End                        specifies the non-inclusive end of the event
VEVENT:DTSTART      Section     Start
VEVENT:DURATION     Section     End                        used to calculate the end property
VEVENT:TRANSP       Section     BusyStatus
VALARM:TRIGGER      Section     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:

VERSION:2.0                                     ; Ignored
METHOD:PUBLISH                                  ; Ignored
PRODID:-//iCal UDF//iCal Generator//DE          ; Ignored
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
TRIGGER:PT30M                               ; Alarm: 30 minutes prior to the event
ACTION:DISPLAY                                  ; Ignored
DESCRIPTION:Reminder                            ; Ignored


Threads: General Help & Support


Known Bugs: (last changed: 2019-01-22)

  • None

Things to come: (last changed: 2019-02-08)

  • None

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



  • 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.
  • Enhanced debugging:
    • 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
  • Like 3
  • Thanks 1

User Feedback

You may only provide a review once you have downloaded the file.

There are no reviews to display.

  • Similar Content

    • water
      By water
      I just noticed that Outlook does not allow to import iCal events programmatically.
      I might implement some of the iCalendar data format (RFC 5545) if someone is interested
      Please post here or click the "Like" button if you think this is a good idea
      Edit: For download please see my signature
    • water
      By water
      For my iCal UDF I need to translate rfc 2445 duration format to an array holding the possible values (week, day, hour, minute, second):
      Has anyone already written some code to to this?
      "P15DT5H0M20S" should be translated to [0, 15, 5, 0, 20] ; week, day, hour, minute, second
      Some RegExp guru around?
      Any help is greatly appreciated