

If Format(oAppt.Start, "hh") > LAST_HOUR_CUTOFF Then oAppt.Start = DateAdd("d", 1, oAppt.Start) ' See comment for "LAST_HOUR_CUTOFF" above

IDuration = oAppt.Duration ' Preserve the time of the event to reassert it after time zone change Set oAppt = getSeriesException(oAppt.Start, oAppt) Set oApptPtrn = oAppt.GetRecurrencePattern Select Case oAppt.RecurrenceState ' If we have a recurring meeting, find the parent or operate on the exception alone

Select Case currentItem.MessageClass ' Only operate on objects that are appointments already on calendar or meeting requestsĬase Is = "IPM.Appointment": Set oAppt = currentItemĬase Is = "": Set oAppt = currentItem.GetAssociatedAppointment(True) Set Selection = currentExplorer.Selection Set currentExplorer = Application.ActiveExplorer Meetings set for hours after this constant will roll over to the next day. However a meeting in Europe sent to EST will start at 6p EST, but should apply to the next day. ' Select one or many all-day meetings/meeting requests and if not in the same time zone, adjust to current time zone so it doesn't span multiple daysĬonst LAST_HOUR_CUTOFF As Integer = 10 ' Adjust this to set the cutoff hour (in 24hr clock) before a meeting should be pushed to the next day _Įx: A meeting in HI sent to EST will start at 8a EST, but should apply to the current day _ Appreciate comments/thoughts! Public Sub FixAllDayAppointments() Run this by clicking a Quick Access bar button so it's good enough for me for now. It's probably not the most efficient, and I couldn't get it to run automatically when I received a meeting invite, but I can select multiple instances on my calendar and
Shared calendar app smartday crack#
So, I took a crack at writing the below macro. That is (a) hardly representative of a day off on Christmas Eve while (b) still spanning 2 days in my diary.Ī meeting that runs from 08:00 to 18:00 is one thing, while an all-day event (like my birthday) is something else entirely and runs from midnight to midnight wherever I happen to be on this Earth. If my company gives everybody a day off on Christmas Eve, using your workaround would result in somebody at HQ (GMT-8) sending a 10 hour event that will appear in my diary (GMT) as running from 16:00 on Christmas Eve Similarly, if I take the 14th of March off work, that should be the 14th of March, not some other span of time depending on where on the planet It lasts from midnight to midnight wherever you are in the world. The problem, and really doesn't solve it.įor example: New Year's Day is an all day event.

The workaround to replace all-day events with calendar events that run from, say 08:00-18:00 is ignoring All-day events simply don't work correctly, unless you work for a company that only exists in one time zone. This would imply the the ITĭepartment has to write up a scripts many times per week and admins cannot set up all day events anymore. But Admin's that manage the calendars in company's are not going to be able to write up a script for meeting events. Last - the link you provided is to use a script. We also cannot start the All day event at specific times to accommodate different zones as it will take up the entire calendar space and not be place on the top where all day events below. So basically All Day events should be treated differently then a regular meeting when start and end times are specified. Up in all time zones as an all day event. If there is a Wed All day event we want it to show Midnight - Midnight EST becomes 10pm - 10pm MST. But for All Day events we do not want it to adjust it to a two days even. We want the meeting to reflect the correct time.
