iPhone: Workaround #1

As I noted in an earlier post, I found a problem with Outlook->iPhone sync’ing for Appointment items that had a relatively large size. Tim Heuer mentioned that the same sync process had issues with specific types of Outlook Appointment items…

Based on his findings, I spent a little while in VBA and came up with a small for that addresses both issues, but I forewarn you: I’m not taking any responsibility for any data loss on this one… it’s pretty straightforward but if you’re like me, you have over 1000 calendar items and that’s a lot of data to do batch updates on.

If you’ve suffered from the combination of iTunes, Outlook, and iPhone, and don’t mind getting your hands rather dirty, please read on.

Tim identified the object problem. Long and short of it is that if other people send you invites, those Appointment Items may not make their way into your calendar the as the same object… iTunes expects all sync-able objects to be IPM.Appointment typed – Outlook has different types of objects with little or no difference visible in the UI. See Tim’s post for information on that.

Based off the support form that Tim uses to clean up object type, I’ve added a button to the mix.

To use the CheckSize button, you must have done the following:

– Added a new Category called iPhoneSyncError. I made mine nice and Red so I can easily spot it in a list.

– Allowed non-signed Macros to run in Outlook (Tools -> Macros -> Security, select Warnings for all macros.)

– Learned how to import an FRM file into Outlook via the Developer tab (Tim has a good walkthrough on this already)

Once you have the above set up, download the frm file that I’ve modified from the original: Download frm form here.

Using the same instruction that you found on Tim’s post, import this file into your Outlook environment, hook up a toolbar button to launch this form, and show a calendar view.

The CheckSize button can only be run if you are showing the Calendar. It will also only tag IPM.Appointment types and tell you if you have to Analyze and Process other items in the currently showing Calendar. Assuming you have all of the right object types and you are in the Calendar, clicking CheckSize will tag any calendar entry that has more than 1600 characters in the body of the item. Why 1600? Because < 1600 works. It might be 1650. Might be 1700. I wasn't going to burn more time on this trying to fine tune it to this level. Once tagged with the iPhoneSyncError category, you can search for these items and prune the bodies as need. Does it suck that you have to do this manually? Yes. Is it better than just missing items without warning? I definitely think so... I'm also thinking about adding a rule that tags incoming meeting requests that are > 5KB that also don’t have an attachment, with iPhoneSyncError, just to be aware of possibly problems…

Lame, but at least it’s a tool to have handy for now.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.