Results 1 to 5 of 5
  1. #1
    2 Star Lounger
    Join Date
    Jan 2003
    Posts
    187
    Thanks
    0
    Thanked 0 Times in 0 Posts

    All Day Event Default - Busy vs. Free (Outlook 2000)

    By default, appointments appear as busy and are blocked out. Appointments marked as events appear in a banner and are not blocked out. But my boss wants anything marked as an "All Day Event" to default as busy so that others will not book appointments for him during the all day event. I told him he can change it manually, but he wants it to default to "busy" when he clicks the checkbox for All Day Event. Anyone have a solution as to how to change this default? Many thanks...Mary

  2. #2
    Uranium Lounger
    Join Date
    Dec 2000
    Location
    Salt Lake City, Utah, USA
    Posts
    9,508
    Thanks
    0
    Thanked 6 Times in 6 Posts

    Re: All Day Event Default - Busy vs. Free (Outlook 2000)

    It's a major annoyance, and I haven't personally found a fix.
    -John ... I float in liquid gardens
    UTC -7ąDS

  3. #3
    2 Star Lounger
    Join Date
    Jan 2003
    Posts
    187
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: All Day Event Default - Busy vs. Free (Outlook 2000)

    Thanks anyway, John....I tried posting this to VB/VBA section, but they just referred me back here. I guess the answer is no one knows how to do this. I wonder if it has been reported to Microsoft so that they can correct in a future release???....Mary

  4. #4
    Uranium Lounger
    Join Date
    Dec 2000
    Location
    Salt Lake City, Utah, USA
    Posts
    9,508
    Thanks
    0
    Thanked 6 Times in 6 Posts

    Re: All Day Event Default - Busy vs. Free (Outlook 2000)

    <P ID="edit" class=small>(Edited by JohnBF on 23-Feb-04 18:06. See Note.)</P>Outlook is annoying in that the Object model is not well exposed, and Events you might expect to be exposed simply (such as Meeting Request Response) are not, at least not through 2002. Therefore I wrote some code that triggers whenever New Mail is recieved (which doesn't make a lot of sense, but it's probably the most frequent event triggered). So try this code in the "ThisOutlookSession" module of your boss's Outlook Application, and see the notes:

    Private Sub Application_NewMail()
    Dim objOLApp As Outlook.Application
    Dim nsNS As NameSpace
    Dim fldrCal As MAPIFolder
    Dim i As Integer

    Set objOLApp = CreateObject("Outlook.Application")
    Set nsNS = objOLApp.GetNamespace("MAPI")
    Set fldrCal = nsNS.GetDefaultFolder(olFolderCalendar)

    With fldrCal
    For i = 1 To .Items.Count
    With .Items(i)
    If .AllDayEvent And Not .Sensitivity = olPrivate Then ' Private All Day Events are ignored
    .BusyStatus = olBusy
    .ReminderSet = False ' I don't want reminders on All Day Events, so I turn them off
    .Save
    End If
    End With
    Next i
    End With

    Set fldrCal = Nothing
    Set nsNS = Nothing
    Set objOLApp = Nothing
    End Sub

    Note from the code comments:

    1. To prevent All Day Events being tweaked by the code, your boss should set them to Private. I did it this way because most of my Private All Day Events are Out Of Office, so I wouldn't want them reset to Busy
    2. If your boss wants reminders on all day events, delete or comment out the appropriate line.

    I still think MS should have a better way to handle this issue. <img src=/S/shrug.gif border=0 alt=shrug width=39 height=15>

    Note: After testing this today and finding a considerable negative impact on Outlook performance every time a message was rec'd, it might be better to hook the code to the Application_Quit() event. I also need to make it more efficient.
    -John ... I float in liquid gardens
    UTC -7ąDS

  5. #5
    Uranium Lounger
    Join Date
    Dec 2000
    Location
    Salt Lake City, Utah, USA
    Posts
    9,508
    Thanks
    0
    Thanked 6 Times in 6 Posts

    Re: All Day Event Default - Busy vs. Free (Outlook 2000)

    This may be more efficient. Handling of the Recurrence and Private settings differs from my other effort:

    Private Sub Application_Quit()
    Dim nsNS As NameSpace
    Dim fldrCal As MAPIFolder
    Dim itmsAllDayEvents As Items
    Dim lngC As Long

    Set nsNS = Application.GetNamespace("MAPI")
    Set fldrCal = nsNS.GetDefaultFolder(olFolderCalendar)
    Set itmsAllDayEvents = fldrCal.Items.Restrict("[All day event] = True")
    For lngC = 1 To itmsAllDayEvents.Count
    With itmsAllDayEvents(lngC)
    If Not itmsAllDayEvents(lngC).IsRecurring Then 'recurrent is not changed (holiday or birthday)
    .ReminderSet = False
    .BusyStatus = olBusy
    If .Sensitivity = olPrivate Then .BusyStatus = olOutOfOffice
    .Save
    End If
    End With
    Next lngC
    Set itmsAllDayEvents = Nothing
    Set fldrCal = Nothing
    Set nsNS = Nothing
    End Sub
    -John ... I float in liquid gardens
    UTC -7ąDS

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •