locked
"Mark All As Read" in Outlook 2010 Calendar and Tasks RRS feed

  • Question

  • Hi everyone.

    Outlook 2007 has a feature that allows you to right-click its Calendar and Tasks folders and then "Mark All As Read". This feature is missing from Outlook 2010.

    I sync my Outlook with a PDA and a laptop, and synced meetings often come back to my main PC marked as unread, and I find the bold "Calendar (5) " very distracting.

    At the moment the only way I can find of marking the synced meetings as read is to (1) change my calendar view to List (2) scroll down the calendar looking for bold meetings (3) open each bold meeting in turn. Not particularly user-friendly.

    Is there a way to switch "Mark All As Read" back on for Outlook 2010 Calendars and Tasks?

    Failing that, can anyone suggest a quicker way to find and mark as read any meetings that are flagged as unread.

    Thanks in advance...
    Thursday, July 1, 2010 9:11 AM

Answers

  • Okay, as no answers seem forthcoming I've hacked together a macro to achieve the end I need.

    In case anyone else might find it useful, the code is here:-

     

    Sub MarkAllAsRead()

        Dim ol As Outlook.Application
        Dim olNameSpace As Outlook.NameSpace
        Dim olAppointments As Outlook.Folder
        Dim olContacts As Outlook.Folder
        Dim olTasks As Outlook.Folder
        Dim olAppointment As AppointmentItem
        Dim olContact As ContactItem
        Dim olTask As TaskItem
       
        Set ol = New Outlook.Application
        Set olNameSpace = ol.GetNamespace("MAPI")


    '   Appointments
        Set olAppointments = olNameSpace.GetDefaultFolder(olFolderCalendar)
       
        For Each olAppointment In olAppointments.Items.Restrict("[Start] > '" & Format(DateAdd("m", -6, Date), "ddddd h:nn AMPM") & "'")
            If olAppointment.UnRead = True Then
                olAppointment.UnRead = False
            End If
        Next olAppointment

    '   Contacts
        Set olContacts = olNameSpace.GetDefaultFolder(olFolderContacts)
       
        For Each olContact In olContacts.Items
            If olContact.UnRead = True Then
                olContact.UnRead = False
            End If
        Next olContact
       

    '   Tasks
        Set olTasks = olNameSpace.GetDefaultFolder(olFolderTasks)
       
        For Each olTask In olTasks.Items
            If olTask.UnRead = True Then
                olTask.UnRead = False
            End If
        Next olTask
       
       
    End Sub

     

    I'll leave this question open though, because I'm interested to see if anyone knows of an official solution to the problem "how do I find unread appointments without inspecting every appointment by hand".

     

    • Marked as answer by Natter Jack Monday, July 5, 2010 7:25 PM
    Thursday, July 1, 2010 7:56 PM

All replies

  • Okay, as no answers seem forthcoming I've hacked together a macro to achieve the end I need.

    In case anyone else might find it useful, the code is here:-

     

    Sub MarkAllAsRead()

        Dim ol As Outlook.Application
        Dim olNameSpace As Outlook.NameSpace
        Dim olAppointments As Outlook.Folder
        Dim olContacts As Outlook.Folder
        Dim olTasks As Outlook.Folder
        Dim olAppointment As AppointmentItem
        Dim olContact As ContactItem
        Dim olTask As TaskItem
       
        Set ol = New Outlook.Application
        Set olNameSpace = ol.GetNamespace("MAPI")


    '   Appointments
        Set olAppointments = olNameSpace.GetDefaultFolder(olFolderCalendar)
       
        For Each olAppointment In olAppointments.Items.Restrict("[Start] > '" & Format(DateAdd("m", -6, Date), "ddddd h:nn AMPM") & "'")
            If olAppointment.UnRead = True Then
                olAppointment.UnRead = False
            End If
        Next olAppointment

    '   Contacts
        Set olContacts = olNameSpace.GetDefaultFolder(olFolderContacts)
       
        For Each olContact In olContacts.Items
            If olContact.UnRead = True Then
                olContact.UnRead = False
            End If
        Next olContact
       

    '   Tasks
        Set olTasks = olNameSpace.GetDefaultFolder(olFolderTasks)
       
        For Each olTask In olTasks.Items
            If olTask.UnRead = True Then
                olTask.UnRead = False
            End If
        Next olTask
       
       
    End Sub

     

    I'll leave this question open though, because I'm interested to see if anyone knows of an official solution to the problem "how do I find unread appointments without inspecting every appointment by hand".

     

    • Marked as answer by Natter Jack Monday, July 5, 2010 7:25 PM
    Thursday, July 1, 2010 7:56 PM
  • Frustrated me, to but i finally figured it out.

     

    In outlook, Left click on the magnifying glass at the right end of the search bar

    When you do that, it brings up a new ribbon of Search Tools.  Click on the "Search Tools" Icon (wrench and hammer) and then to Advanced Find under the drop down menu.

    Make sure the drop downs are set to "Appointments and Meetings" in "Calendar"

    Click on the More Choices tab,and you will see an option "Only Items that are" - click that drop down to "unread" and put a check mark in the box next to it, then click "Find Now".

    The unread calendar items will be listed below, and you can go back to each one and open it so it will be marked as read.

    Hope that helps!

     

     

    • Proposed as answer by papelian Wednesday, August 4, 2010 6:16 PM
    Wednesday, August 4, 2010 6:15 PM
  • Thanks for letting us know! It was very frustrating to me too...

    Looks like the removal of the "Mark All as Read" function in the Calendar folder is another undocumented feature Microsoft brought to us in the Outlook 2010 release. 

    AUHSD Helpdesk

    Monday, August 9, 2010 6:12 PM
  • Thanks for the help!  Your directions were accurate and easy to follow!

     

    For Microsoft: it is ridiculous for them to take away a simple and commonly used function and leave this as our only solution.   It's about as simple and intuitive as nuclear physics.

    Wednesday, November 17, 2010 11:06 PM
  • Just to add to papelian's solution.  If there are a lot of entries in the search results box, then click on the top one then scroll down and Shift Click on the last entry to select all. Then press the enter key. There will be a warning that this might take a long time, but just click continue. All the unread calendar items will now open.

    Once all items are open, right click the Outlook icon on the task bar and select" Close all Windows".  All the open calendar items and outlook itself will now close.  Next time you open Outlook, all there will not be any unread calendar items.

    Much easier and quicker to do than writing the solution!

    Tuesday, March 22, 2011 5:04 PM
  • Further take on papelian's great solution and RogerT42's suggestion - just select all the items in the search results box (using Ctrl+A) and then use Ctrl+Q to mark all as read without opening the items themselves. (Ctrl+Q functionality doesn't seem to work elsewhere as it did in Outlook 2007, but does here.)
    • Proposed as answer by Chief62 Thursday, October 13, 2011 5:43 PM
    Thursday, March 24, 2011 8:17 AM
  • Further take on papelian's great solution and RogerT42's suggestion - just select all the items in the search results box (using Ctrl+A) and then use Ctrl+Q to mark all as read without opening the items themselves. (Ctrl+Q functionality doesn't seem to work elsewhere as it did in Outlook 2007, but does here.)

    Nice scooter_man!
    Thursday, October 13, 2011 5:42 PM
  • this was PERFECT - thank you so much, papelian!  I've tried FOREVER to figure this out....and it worked brilliantly!  Bravo!  Thank you!
    Thursday, December 8, 2011 3:19 PM
  • Hey Everyone,

     

    I found this on another site. It marked 1700 items as read for me in a few clicks...

     

    A few way to work around this bug. Click on the respective folder in the Folder list within Outlook.

    Option 1:
    On the right "Select All" components (Ctrl A)
    *note* - Edit > "Select All is missing too
    The press Ctrl Q which should mark all the "selected" components as Read.

    Option 2: (Customize the Ribbon)
    File > Options > Customize Ribbon
    Change "Popular Commands" (dropdown menu) > "All Commands"
    Scroll to and highlight "Mark All as Read" in the left pane
    Select (highlight) the tab in the right pane you want the option too.
    *note* - you can not add to an existing group.
    Create a "New Group" (name it whatever you want, i.e. - Custom)
    Select/highlight your new group and click "Add".
    You should now see "Mark All as Read" under your new custom tab.
    Repeat as desired for each "Home" tab, i.e. - Calendar, Contacts, etc.

    Thursday, December 8, 2011 11:35 PM
  • This was the quickest and most helpful I've seen in this thread. Still slower than it should be though. MS should really re add that functionality back in.

    Friday, March 23, 2012 8:14 PM
  • Neither of these worked for me.

    Option 1: CTRL + Q did not work in the Folder list. It only seemed to work in the search box for me, as suggested by Scooter_Man.

    Option 2: I was excited about this one, but when I added the "Mark All As Read" in the Home (Calendar) and Home (Calendar Table View) Tabs, and in both it was greyed out and didn't allow me to use it. :-(

    Friday, March 23, 2012 8:17 PM
  • Great solution, thank you so much!!!
    Friday, June 15, 2012 2:12 PM
  • The CTRL + Q worked for me in the folder view, but the "Mark All As Read" button on my ribbon was grayed out therefore I could not use it. :(

    Wednesday, July 25, 2012 4:59 PM
  • In the Calendar Tab search bar type READ:NO and search. This will pull up a complete list of all unread items. Select and highlight the first item, then, without deselecting the first item, use the scroll bar on the right to get to the end of the list if there is more than a page worth of items. Use SHIFT+point and select last item in list. This should highlight all items in the unread list. Once all unread items are highlighted, use CTRL+Q.

    CTRL+Q is a default Outlook command to mark an item as read, so all you need to do is get a list to mark. Wallah! 

    If you need to remove any of the items, use CTRL+point and select each item to remove from the list of highlighted items. This works for any list, including Contacts.



    • Edited by ShawnInAZ Wednesday, September 5, 2012 4:52 PM
    Wednesday, September 5, 2012 4:50 PM
  • This was great to search by READ:NO.  But after I got a list of unread calendar items, the CTRL+Q key wouldn't work.  Then I noticed that a new Search Tools tab appeared, so I selected Search All Outlook Items and searched again for READ:NO.  I got a list of every item already sorted by the folder each item is in (Calendar, Contacts, Inbox, etc.).  I was able to select everything listed except the 5 really unread items in my Inbox, hit CTRL+Q, and it got rid of all of the annoying unread items in my calendar and contacts (as well as the Deleted Items that I hadn't yet right clicked to select "Mark All As Read.").  Thanks for suggesting the search for READ:NO!! 

    Tuesday, September 18, 2012 9:37 PM
  • Thanks to everyone that contributed to this thread ... have just switched to a new lap-top and imported my mail and calendar archive (.pst) files and this thing was really pissing me off.   Have now added in Waterbumb's option 2 solution to Quick Access Toolbar and never have to think I'm missing that mystery meeting again !!
    Monday, January 7, 2013 3:52 AM
  • Thank you.  So useful - it had been bugging me for months as how to mark my 173 Unread Tasks to as Read.  Now sorted :)
    Monday, February 19, 2018 5:01 PM