Quote:> What puzzles me is why CDO at least the 1.21 version often falls short
> of what can be done in Outlook. For instance I can't send an HTML
> email via CDO whereas in Outlook it's a pretty standard thing to do.
This is because CDO isn't the same as the Outlook object model, and they
only bothered implementing some things in CDO1.21. Outlook wraps Extended
MAPI, so using ExMAPI you _can_ do anything; CDO is just a different wrapper
for ExMAPI that doesn't have some of the restrictions of the OOM. It has its
own restrictions instead..
Quote:> Likewise with this, I need to retrieve an appointment that I've
> already created by reference, modify it or delete it. In Outlook it's
> a very simple case of using the find method of the MapiFolder.Items
> object and going directly to it. In CDO Exchange it seems I have to
> read every entry in my Calendar until I find the right one. Not a
> really acceptable solution and something that will kill any chances of
> me offering the same functionality that the desktop version of my
> product offers.
Could you store the ENTRYID and then use Session.GetMessage(entryID) here?
That'll gets you the message from anywhere, not just by folder; just save it
away when you create the message.
Otherwise, yes, CDO and the OOM have different features and that's just an
unfortunate thing. For what it's worth, the overhead of using the OOM in
general cancels out a _lot_ of algorithmic inefficiency that CDO might
Quote:> Whether Outlook or CDO essentially I'm looking at the same information
> in the calendar of a shared mailbox and can only conclude that when
> Microsoft developed these products, the developers made a point of not
> communicating with each other.
Sadly, you may well be right there. I know for a fact that the Exchange and
Outlook developers don't share info as much as perhaps they might. I suspect
CDO1.21 was written by the Outlook people, because it does calendaring which
is Outlook-specific. Why it doesn't also do tasks/contacts/etc is a mystery,