Jump to content
water

OutlookTools: Import/Export from/to iCal and vCard

Recommended Posts

From vcard-21.doc, my page 17

"In addition to property groupings, a vCard can include other, nested vCard objects."

Thoughts on: Would Outlook be able to parse correctly a single meetandgreet.ics vCalendar object with a nested vCard object?  Or, would it be safer to create to separate files meeting.ics and person.vcf ?


Skysnake

Why is the snake in the sky?

Share this post


Link to post
Share on other sites
1 hour ago, Skysnake said:

PS, Why is your test.ics file generated as version 2.0? ;)

Because I grabbed it from an example on the web. Up to now the version does not matter when importing iCal files.
Seems there is only version 1.0 for iCalendar and version 2.0 for vCalendar.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (2018-12-03 - Version 1.4.11.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2019-03-02 - Version 1.3.5.0) - Download - General Help & Support - Example Scripts - Wiki
Outlook Tools (2019-01-22 - Version 0.1.0.0) - Download - General Help & Support
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites
11 minutes ago, Skysnake said:

From vcard-21.doc, my page 17

"In addition to property groupings, a vCard can include other, nested vCard objects."

Thoughts on: Would Outlook be able to parse correctly a single meetandgreet.ics vCalendar object with a nested vCard object?  Or, would it be safer to create to separate files meeting.ics and person.vcf ?

I'm sure Outlook wouldn't be able to directly process such nested objects.
My tools will parse the input files, map iCal/vCard properties to Outlook item properties and then create the Outlook items.

My primary goal is to implement the simple and widely used components and properties. Later on (if ever) I will spend some time with those exotic features ;)

So you would b on the safer side to use two separate files.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (2018-12-03 - Version 1.4.11.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2019-03-02 - Version 1.3.5.0) - Download - General Help & Support - Example Scripts - Wiki
Outlook Tools (2019-01-22 - Version 0.1.0.0) - Download - General Help & Support
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites

Version 0.3.0.0 of the UDF has been released.

 

 


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (2018-12-03 - Version 1.4.11.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2019-03-02 - Version 1.3.5.0) - Download - General Help & Support - Example Scripts - Wiki
Outlook Tools (2019-01-22 - Version 0.1.0.0) - Download - General Help & Support
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites

Does anyone use this UDF?

If yes:

  • What have you tried so far? Import events or contacts?
  • Does the UDF fit your needs or do you miss something?
  • Should I enhance documentation (wiki, inline documentation ...)?

If no:

  • The UDF does not provide the function you are looking for. Which one?
  • The function you tested does not work properly. Any errors?
  • ... Something else ...?

 


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (2018-12-03 - Version 1.4.11.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2019-03-02 - Version 1.3.5.0) - Download - General Help & Support - Example Scripts - Wiki
Outlook Tools (2019-01-22 - Version 0.1.0.0) - Download - General Help & Support
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites

@water, not operationally, yet.  But I have made a dedicated test folder with some sample scripts.  Once I am comfortable with it I intend to make some widgets which can be placed in various other scripts.

As far as the YES part goes, so far it works for me  (all of it).  I did a lot of reading (referenced in your docs), as I am also learning about this for the first time.

Please do not stop. :)


Skysnake

Why is the snake in the sky?

Share this post


Link to post
Share on other sites

Thanks for your reply! I will do my very best :)


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (2018-12-03 - Version 1.4.11.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2019-03-02 - Version 1.3.5.0) - Download - General Help & Support - Example Scripts - Wiki
Outlook Tools (2019-01-22 - Version 0.1.0.0) - Download - General Help & Support
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites

More reading...

https://en.wikipedia.org/wiki/ICalendar

Quote

In Microsoft Outlook, the SUMMARY corresponds to the "Subject" entry in the "Appointment" form, and DESCRIPTION to the descriptive text below it. In addition, Outlook 2002 and Outlook 2003 demand a UID and a DTSTAMP.

Would that mean use is recommended?

Also

Quote

an event, a to-do list, a journal entry, time zone information, or free/busy time information, or an alarm. Empty lines are not allowed in some versions of usage (Google calendar).

Would you default to "no blank lines"?

===> Journals -- would it make sense to harvest journal items from the iCal and save to a db?

🧐


Skysnake

Why is the snake in the sky?

Share this post


Link to post
Share on other sites
1 hour ago, Skysnake said:

Would that mean use is recommended?
...
Would you default to "no blank lines"?

SUMMARY and DESCRIPTION are already mapped to the Outlook properties Subject and Body.
UID and DTSTAMP might be required for a valid iCalendar file but are not needed to create an event item.
My "parser" does not adhere to the different standards, it simply parses the input file and tries to make a sensible Outlook item out of it. Unknown or unneeded input lines are ignored (so are empty lines). To make the debugging output more readable I could exclude empty lines from logging if needed.

Most important: I assume the input file is a valid iCalendar.

To sum it up: The UDF is still beta and has only been tested with a few iCalendar files. So I recommend to call the function with active debugging but without creating an Outlook item. If you feel comfortable with the displayed debugging info (check the list of Outlook properties to be set) then create an item but use a test calendar before using it in production.
 

1 hour ago, Skysnake said:

===> Journals -- would it make sense to harvest journal items from the iCal and save to a db?

I have never seen anyone use journal items in Outlook. But if demand arises it could be added to the UDF.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (2018-12-03 - Version 1.4.11.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2019-03-02 - Version 1.3.5.0) - Download - General Help & Support - Example Scripts - Wiki
Outlook Tools (2019-01-22 - Version 0.1.0.0) - Download - General Help & Support
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites

Next step:
Export events and contacts to iCal and vCard files.

  • The function will export a single event/contact when you pass a single event/contact object or EntryID.
  • The function will export a list of events/contacts when you pass an array with event/contact objects or EntryIDs.
  • The export will create a single file or a new file for every event/contact in a specified directory.

Anything else you would like to see in this functions?


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (2018-12-03 - Version 1.4.11.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2019-03-02 - Version 1.3.5.0) - Download - General Help & Support - Example Scripts - Wiki
Outlook Tools (2019-01-22 - Version 0.1.0.0) - Download - General Help & Support
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By water
      Tools to import/export contacts from/to vcf files and calendar events from/to ics files (former name: iCal UDF).
      Note: This is a beta version - script breaking changes may occur at any time!
      Prerequisite: OutlookEX UDF.
       
      ICS (iCalendar) import
      The following components and properties have been implemented (full or partial).
      The test script iCal_VEventImport.au3 creates the test iCal file (Test.ics) on the fly holding two events.
      When you run the example script only one event for today gets written to your default calender. 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:
       
      VCF (vCard) import
      The following components and properties have been implemented (full or partial).
      The test script vCardImport.au3 creates the test vCard file (Test.vcf) on the fly holding a single vCard.
      Debugging is enabled, so you get a full listing on the SciTe console how the vCard file gets processed:

      Links:
      https://tools.ietf.org/html/rfc5545 (ICS - iCalendar)
      https://tools.ietf.org/html/rfc6350 (VCF - vCard)
      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
    • By nooneclose
      Hello everyone, I am wondering if and how it is possible to connect my AutoIt script to a different email in my outlook. I have two different accounts when I open outlook. The first which my script always connects to is my own email while the second is a group email account. How or can I make the script connect to the second one and access its inbox instead of mine? This is all work related so no funny business here. 
      Global $oOutlook = _OL_Open() ; Store all the Unread emails into an array Global $aItems = _OL_ItemFind($oOutlook, "*\Outlook-UDF-Test", $olMail, _ "[UnRead]=True", "Subject", "Maintenance Request from Eagle's Nest", "EntryID,Subject", "", 1) ; Display the array of unRead emails If IsArray($aItems) Then ;_ArrayDisplay($aItems, "OutlookEX UDF: _OL_ItemFind - Unread mails") Else MsgBox(48, "OutlookEX UDF: _OL_ItemFind Example Script", _ "Could not find an unread mail. @error = " & @error & ", @extended: " & @extended) EndIf ; Get the number of unread emails Global $numberOfUnRead = UBound($aItems, $UBOUND_ROWS) - 1 ;MsgBox("", "Number of Unread emails", $numberOfUnRead) ConsoleWrite("Number of unread emails: " & $numberOfUnRead & @CRLF) I might be missing some code in the post but my code works It's just so long I don't want to post all 2300+ lines. 
      Thank you for the help I greatly appreciate this community. 
    • By water
      Extensive library to control and manipulate Microsoft Outlook.
      Theads: Development - General Help & Support - Example Scripts - Wiki
      There is another UDF (OutlookTools) available (as a beta at the moment) to import/export contacts and events to VCF/ICS files.
      BTW: If you like this UDF please click the "I like this" button. This tells me where to next put my development effort

      KNOWN BUGS (last changed: 2019-04-01)
      _OL_ItemFind: Crashes if you do not select properties to be returned for found items (parameter $sReturnProperties is blank or set to Default) AND the itemtype is not: $olContact, $olDistributionList, $olNote or $olMail.
      Future fix: Appointment itemtype will be added based on the default properties returned by _OL_AppointmentGet. A new @error code will be added for all undefined item types.
      Thanks to: iso23270 for reporting this bug!  
    • By water
      Outlook does not allow to import vCard/VCF-files programmatically.
      I might implement this format (RFC 6350) as I did with the iCalendar data format if someone is interested
      Please post here or click the "Like" button if you think this is a good idea
    • 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
×
×
  • Create New...