ICalendar object
The ExICalendar library implements the ICalendar data format, according with Internet Calendaring and Scheduling Core Object Specification, RFC 5545. The iCalendar data format represents exchanging calendaring and scheduling information such as events, to-dos, journal entries, and free/busy information, independent of any particular calendar service or protocol. The iCalendar format is suitable as an exchange format between applications or systems. The format is defined in terms of a MIME content type. This will enable the object to be exchanged using several transports, including but not limited to SMTP, HTTP, a file system, desktop interactive protocols such as the use of a memory-based clipboard or drag/drop interactions, point-to-point asynchronous communication, and so on. 

The hierarchy of objects/properties of the ICalendar object is:

EXICALENDARLib.ICalendar
	"Content" -> EXICALENDARLib.Component
	"Root" -> EXICALENDARLib.Component
EXICALENDARLib.Component
	"Components" -> EXICALENDARLib.Components
	"Parent" -> EXICALENDARLib.Component
	"Properties" -> EXICALENDARLib.Properties
EXICALENDARLib.Components
	"Add(String)" -> EXICALENDARLib.Component
	"Item(Variant)" -> EXICALENDARLib.Component
EXICALENDARLib.Properties
	"Add(String,Variant)" -> EXICALENDARLib.Property
	"Item(Variant)" -> EXICALENDARLib.Property
EXICALENDARLib.Property
	"Component" -> EXICALENDARLib.Component
	"Parameters" -> EXICALENDARLib.Parameters
EXICALENDARLib.Parameters
	"Add(String,Variant)" -> EXICALENDARLib.Parameter
	"Item(Variant)" -> EXICALENDARLib.Parameter
EXICALENDARLib.Parameter
	"Property" -> EXICALENDARLib.Property

The ICalendar object supports the following properties and methods:

NameDescription
AttachTemplateAttaches a script to the current object, including the events, from a string, file, a safe array of bytes.
ContentRetrieves the object's content such as properties, and components.
DebugGets debugging information.
EventParamRetrieves or sets a value that indicates the current's event parameter.
ExecuteTemplateExecutes a template and returns the result.
FireEventsSpecifies whether the control fires the events.
fromICalendarConverts the giving ICalendar expression to a VARIANT expression. For instance, fromICalendar("P15DT12H", exPropertyTypeDuration) returns 15.5 which indicates 15 days and 12 hours.
LoadLoads and parses the iCalendar format from giving text.
LoadFileLoads a file.
LoadFileFromUnicodeLoads from an UNICODE file.
RecurAllReturns all recurrences of the specified rule, as a safe array of dates. .
RecurAllAsStringReturns all recurrences of the specified rule, as string (dates are separated by new line ) .
RecurAllMethodSpecifies the way the component gets the occurrences of the recurrence rule ( RecurAll method ).
RecurAllTimeSpecifies the time in milliseconds that took to perform the last RecurAll call.
RecurCheckEvaluates the date using recurrence rules, and returns 1 if the Date matches the recurrence rule, 0 if not, or a negative number if any error occurs.
RecurPartValueReturns the value of the giving part of the recur expression.
RecurRangeReturns all occurrences between start and and of the specified rule, as a safe array of dates.
RecurRangeAsStringReturns all occurrences between start and and of the specified rule, as string (dates are separated by new line ).
RootRetrieves the root component of the content ( first component ).
RuntimeKeySpecifies a runtime key to be used for the component.
SaveSaves the content as iCalendar format.
SaveFileSaves the control's content to a file.
SaveFileAsUnicodeSaves the control's content to file as UNICODE.
TemplateSpecifies the control's template.
TemplateDefDefines inside variables for the next Template/ExecuteTemplate call.
TemplatePutDefines inside variables for the next Template/ExecuteTemplate call.
toICalendarConverts the giving VARIANT expression to ICalendar format. For instance, toICalendar(CSng(15.5), exPropertyTypeDuration) returns "P15DT12H".
UserDataIndicates any extra data associated with the control / root.
valuesFromICalendarExtracts all values or specified value of the giving value in ICalendar format. For instance valuesFromICalendar("P15DT12H", exPropertyTypeDuration, "Duration") returns 15.5, which indicates the duration in days, hours, minutes, seconds as a DATE expression.
valuesToICalendarConverts the values to a value of ICalendar format. For instance, valuesToICalendar("Duration=15.5",exPropertyTypeDuration) returns "P15DT12H", which indicates 15 days and 12 hours.
VersionRetrieves the control's version.