Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Outlook / Interop / February 2008

Tip: Looking for answers? Try searching our database.

olAppointmentItem.Organizer when created by publisher on shared calendar

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Ryan Parlee - 03 Feb 2008 05:22 GMT
Hello Outlook Developers,

When a user in our office creates an AppointmentItem on a shared calendar
with the "publishing author" privilege for that calendar the Organizer
attribute is set to the owner of the mailbox rather than the user that
created the item.

1. Is this by design?

2. Is there a way to find out who actually created the item?

Thanks,
Ryan
Ken Slovak - [MVP - Outlook] - 04 Feb 2008 14:15 GMT
It's by design. The Outlook object model doesn't expose who last modified a
calendar item. If you are using an alternate API such as CDO 1.21 or
Extended MAPI or Redemption (www.dimastr.com/redemption) you can use the
PR_LAST_MODIFIER_NAME property (0x3FFA001E) to get who last modified the
item.

Signature

Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm

> Hello Outlook Developers,
>
[quoted text clipped - 9 lines]
> Thanks,
> Ryan
Ryan Parlee - 04 Feb 2008 17:53 GMT
Ken,

My users are creating items using Outlook 2007 UI on the Shared Calendar
View.  So, I'm not sure if that uses Extended MAPI or some other internal
API.

I'm using OutlookSpy to investigate the object model.  I think I may have
found what I'm looking for in the PR_SENDER_NAME and PR_SENDER_EMAIL_ADDRESS
properties.  Can you please confirm that these are equivelent to what I'm
considering the "creator" of the item?

<off-topic>
Also, any chance you could explain the following to me:

I've been using OutlookSpy to investigate the object model and lookup these
properties.  When I have an Appointment Item open in Outlook, I use the
"CurrentItem" button on the OutlookSpy toolbar to pull up the
_AppointmentItem interface inspector.  Since I didn't see the
PR_LAST_MODIFIER_NAME property that you mentioned in your last response (or
a similarly named property of the interface that looked like it represented
the PR_LAST_MODIFIER_NAME property), I started looking around in OutlookSpy.
My first thought was that perhaps this property was part of a different
interface, but when I tried to QueryInterface for IID_IMessage I got
MAPI_E_INTERFACE_NOT_SUPPORTED.  I then tried IID_IDispatch and got the
_AppointmentItem interface instead.  It wasn't until I found the IMessage
button on the OutlookSpy toolbar that I was able to find the
PR_LAST_MODIFIER_NAME property and then also found the PR_SENDER_XXX
properties.

Q1: Why couldn't I QueryInterface for IID_IMessage directly from the
_AppointmentItem interface?  Isn't that a COM rule that all Interfaces
should allow QI to other interfaces supported by the coclass?

Q2: Why does IID_IDipsatch result in the _AppointmentItem interface?

</off-topic>

Thanks,
Ryan

> It's by design. The Outlook object model doesn't expose who last modified
> a calendar item. If you are using an alternate API such as CDO 1.21 or
[quoted text clipped - 15 lines]
>> Thanks,
>> Ryan
Ken Slovak - [MVP - Outlook] - 04 Feb 2008 18:10 GMT
For Outlook 2007 you can directly access the PR_LAST_MODIFIER_NAME property
using the PropertyAccessor for the appointment item, using this DASL syntax
for the property: "http://schemas.microsoft.com/mapi/proptag/0x3FFA001E"

You can also use the other properties you mention, using their DASL syntax
property tags.

You'd have to ask Dmitry why he implemented the OutlookSpy user interface
that way and how that works with QueryInterface or IDispatch, I just always
use the IMessage button when I want to look at the MAPI properties on an
item or where specific properties aren't exposed by the Outlook object
model.

Signature

Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm

> Ken,
>
[quoted text clipped - 35 lines]
> Thanks,
> Ryan
Ryan Parlee - 05 Feb 2008 05:59 GMT
Thanks for the tip on DASL; I wasn't familar with that.

> For Outlook 2007 you can directly access the PR_LAST_MODIFIER_NAME
> property using the PropertyAccessor for the appointment item, using this
[quoted text clipped - 49 lines]
>> Thanks,
>> Ryan
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.