Become a Columnist Microsoft Exchange Site Microsoft Support SiteMSDN Exchange Site


Subscribe to OutlookExchange
Anderson Patricio
Ann Mc Donough
Bob Spurzem
Brian Veal
Catherine Creary
Cherry Beado
Colin Janssen
Collins Timothy Mutesaria
Drew Nicholson
Fred Volking
Glen Scales
Goran Husman
Guy Thomas
Henrik Walther
Jason Sherry
Jayme Bowers
John Young
Joyce Tang
Justin Braun
Konstantin Zheludev
Kristina Waters
Kuang Zhang
Mahmoud Magdy
Martin Tuip
Michael Dong
Michele Deo
Mitch Tulloch
Nicolas Blank
Pavel Nagaev
Ragnar Harper
Ricardo Silva
Richard Wakeman
Russ Iuliano
Santhosh Hanumanthappa
Steve Bryant
Steve Craig
Todd Walker
Tracey J. Rosenblath

Print all Built-In Outlook Menu Items and their associated ID's

Often you want to hide or programatically execute a built-in Outlook menu item. To do this you'll need its unique ID. The code below will automatically display all of the built-in Outlook menus and their associated ID's. Once you know the ID of the built-in CommandBarButton, you can use the FindControls method of the CommandBar or CommandBars object to retrieve that particular menu item.


Dim strIndent

Function Item_Open()
    For Each objCB In Application.ActiveExplorer.CommandBars
        If objCB.Type = 1 And objCB.BuiltIn Then
            PrintIDs objCB
            Exit For
        End If
End Function

Sub PrintIDs(objCB)
    For Each objCBControl In objCB.Controls
       Item.Body = Item.Body & strIndent & objCBControl.ID & ": " & objCBControl.Caption & vbCrLf
       If objCBControl.Type = 10 Then
           strIndent = strIndent & vbTab
           PrintIDs objCBControl.CommandBar
           If Len(strIndent) > 0 Then strIndent = Left(strIndent, Len(strIndent) - 1)
       End If
End Sub

Print all Built-In Outlook Menu Items and their associated ID's

Disclaimer: Your use of the information contained in these pages is at your sole risk. All information on these pages is provided "as is", without any warranty, whether express or implied, of its accuracy, completeness, fitness for a particular purpose, title or non-infringement, and none of the third-party products or information mentioned in the work are authored, recommended, supported or guaranteed by Stephen Bryant or Pro Exchange. OutlookExchange.Com, Stephen Bryant and Pro Exchange shall not be liable for any damages you may sustain by using this information, whether direct, indirect, special, incidental or consequential, even if it has been advised of the possibility of such damages.

Copyright Stephen Bryant 2008