![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
![]()
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 |
Ads |
#2
|
|||
|
|||
![]()
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. -- 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 "Ryan Parlee" wrote in message ... 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 |
#3
|
|||
|
|||
![]()
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 "Ken Slovak - [MVP - Outlook]" wrote in message ... 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. -- 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 "Ryan Parlee" wrote in message ... 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 |
#4
|
|||
|
|||
![]()
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. -- 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 "Ryan Parlee" wrote in message ... 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 |
#5
|
|||
|
|||
![]()
Thanks for the tip on DASL; I wasn't familar with that.
"Ken Slovak - [MVP - Outlook]" wrote in message ... 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. -- 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 "Ryan Parlee" wrote in message ... 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 |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Missing Calendar Event created from Organizer | WMATUTE | Outlook - Calandaring | 0 | June 28th 07 08:32 PM |
Open a newly created shared calendar - not "Calendar" | [email protected] | Outlook - Calandaring | 2 | May 2nd 07 06:45 PM |
shared calendar meeting organizer | ladyofpern | Outlook - Calandaring | 3 | November 8th 06 01:05 AM |
Outlook Calendar to Publisher? | caltemcarrs | Outlook - Calandaring | 7 | September 11th 06 02:56 PM |
Who is the organizer of an appointment in a shared calendar? | Graeme Cox | Outlook - Calandaring | 0 | May 9th 06 04:59 AM |