none
How to access Start Time & End Time Controls in Appointment Window RRS feed

  • Question

  • Hi,

    I am trying to get a reference to the start time & end time datepicker controls on the appointment/meeting request form.I used the 'Office Fluent User Interface Control Identifiers' documents to get the IDs but without luck.

    Any help is much appreciated.

    (I am using Office 2010 + VS2010 + .NET 3.5)

    Thanks

    Madani

     

    Tuesday, March 13, 2012 2:43 PM

Answers

  • in itemchange event handler check for stored previous values in user property - if it does not change, do not send an email. If however it does change, start a timer with some delay (depending how often those events fire) and store in some dictionary current values (and send them as a state with timer). When timer fires and values in its state are different then those stored for event in dictionary - it means they changed in the meantime and do not send email as a result of that timer (because next one is on the way with maybe final values).
    Wednesday, March 14, 2012 8:58 AM

All replies

  • What are you trying to achieve?
    Tuesday, March 13, 2012 3:01 PM
  • Thanks Damian.I am trying to listen for changes in the start and end times When users drag appointments in the calendar from one time slot to another.The appointment ItemChange event fires many times, so this event is not reliable and seems to fire whenever outlook is updating item metadata.

    Thanks

    Madani

    Tuesday, March 13, 2012 3:12 PM
  • getting reference to some controls will also not solve anything. If ItemChange is too 'chatty' for you, try listening on ItemSend event and see if sending item is of type MeetingRequest - if so, call GetAssociatedAppointment and read start/end times from item.
    Tuesday, March 13, 2012 3:20 PM
  • That's a good idea.But how would I compare the dates of the item being sent and the dates of my appointment when it was loaded.I am guessing this event will not fire until my appointment window is closed.


    Tuesday, March 13, 2012 3:29 PM
  • With this approach you can't. Whole idea of checking previous values with this approach is flawed because if user drags and drops appointment into new time slot, new inspector will open already with new values in those controls, so if you need previous values, you have to stick with ItemChange event handling and store in user properties (or somewhere else) previous values of those properties and later retrieve them and compare to current values.

    Tuesday, March 13, 2012 3:53 PM
  • I am ok with the second approach (ItemChange) but the fact that this event fires 4 or 5 times for a change in the start/end time just does not help.My program sends emails to a Helpdesk system whenever there is a change in start/end time for a specific appointment.If I have to use the ItemChange event, then the helpdesk specialists will end up receiving 5 emails!!!.

    If I can not find a solution for this, then i will stick to saving original dates in ExtendedProperties and then compare them when ItemSend fires.

    Tuesday, March 13, 2012 4:04 PM
  • in itemchange event handler check for stored previous values in user property - if it does not change, do not send an email. If however it does change, start a timer with some delay (depending how often those events fire) and store in some dictionary current values (and send them as a state with timer). When timer fires and values in its state are different then those stored for event in dictionary - it means they changed in the meantime and do not send email as a result of that timer (because next one is on the way with maybe final values).
    Wednesday, March 14, 2012 8:58 AM