Microsoft KB Archive/166755

= XL97: WE1183: "Customizing Menu Bars, Menus, and Menu Items" =

Article ID: 166755

Article Last Modified on 10/10/2006

-

APPLIES TO


 * Microsoft Excel 97 Standard Edition

-



This article was previously published under Q166755



SUMMARY
The Application Note "Customizing Menu Bars, Menus, and Menu Items" (WE1183) is now available from Microsoft Product Support Services. This Application Note can help you learn techniques for writing Visual Basic for Applications code to customize menus in Microsoft Excel 97. This Application Note is meant to be used as a supplement to Chapter 8 ("Menus and Toolbars") of the "Microsoft Office 97/Visual Basic Programmer's Guide." This Application Note contains code examples you can run. These code examples can be used with the following elements: menu bars, menus, menu items, submenus, and shortcut menus.

To Obtain This Application Note
The following file is available for download from the Microsoft Download Center:

Download We1183.exe now

For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to Obtain Microsoft Support Files from Online Services

Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file.



The Text of We1183
                            TABLE OF CONTENTS =================

Overview Using the Examples in This Application Note

Visual Basic for Applications Code Examples and Tips Command Bars Control Constants Menu Bars Returning an ID for a Command Bar Control Saving the Active State (for Built-in or Customized Menu Bars) Creating a Custom Command Bar Displaying a Custom Command Bar Deleting a Custom Command Bar Hiding a Command Bar Displaying a Command Bar Restoring a Built-in Command Bar Menus Adding a Custom Menu Control to a Command Bar Disabling a Menu Control on a Command Bar Enabling a Menu Control on a Command Bar Deleting a Menu Control on a Command Bar Restoring a Menu Control on a Command Bar Menu Items Adding a Separator Bar to a Menu Control Creating a Custom Menu Item Control on a Menu Placing a Check Mark Next to a Menu Item Control Disabling a Menu Item Control on a Command Bar Enabling a Menu Item Control on a Command Bar Deleting a Menu Item Control on a Menu Restoring a Built-in Menu Item Control on a Menu Submenus Adding a Submenu Adding a Menu Item to a Submenu Disabling a Menu Item Control on a Submenu Deleting a Command on a Submenu Disabling a Submenu Control Deleting a Submenu Control Shortcut Menu Bars Creating a New Shortcut Menu Bar Shortcut Menus Creating a Menu Item on a Shortcut Menu Bar Disabling a Menu Item Control on a Shortcut Menu Bar Deleting a Menu Item on a Shortcut Menu Bar Deleting a Shortcut Menu Bar Restoring a Menu Item on Built-in Shortcut Menu Bar Submenus on Shortcut Menus Creating a New Submenu on a Shortcut Menu Bar Creating a Menu Item Control on a Submenu Located on a Shortcut Menu Bar Disabling a Submenu Item Control on a Shortcut Menu Deleting a Submenu Item Control on a Shortcut Menu Disabling a Submenu Control on a Shortcut Menu Deleting a Submenu Control on a Shortcut Menu

Where to Find More Information The Object Browser Microsoft Knowledge Base Using the Microsoft Knowledge Base on the World Wide Web Using the Microsoft Knowledge Base on The Microsoft Network

OVERVIEW ========

To perform many of the common tasks that are associated with customizing menu bars and menus in Microsoft Excel 97 for Windows, use the Customize dialog box (click Customize on the Tools menu). To perform more advanced tasks, or to tailor menu bars and menus for a custom application, you may want to create Visual Basic for Applications procedures.

For more information about using the Customize dialog box, click the Office Assistant, type "customize menubar" (without the quotation marks), click Search, and then click to view a topic.

This Application Note can help you learn techniques for writing Visual Basic for Applications code for customizing menu bars, menus, menu items, submenus, and shortcut menus.

Microsoft provides examples of Visual Basic for Applications procedures for illustration only, without warranty either expressed or implied, including, but not limited to the implied warranties of merchantability and/or fitness for a particular purpose. The Visual Basic procedures in this article are provided 'as is' and Microsoft does not guarantee that they can be used in all situations. While Microsoft Support professionals can help explain the functionality of a particular macro, they will not modify these examples to provide added functionality, nor will they help you construct macros to meet your specific needs. If you have limited programming experience, you may want to consult one of the Microsoft Solution Providers. Solution Providers offer a wide range of fee-based services, including creating custom macros. For more information about Microsoft Solution Providers, call Microsoft Customer Information Service at (800) 426-9400.

USING THE EXAMPLES IN THIS APPLICATION NOTE ===========================================

The examples in this Application Note use Visual Basic for Applications code in Microsoft Excel 97 to customize menus. To use the example macros, follow these steps:

1. In Microsoft Excel 97, open the Visual Basic Editor. To do this, point to Macros on the Tools menu and click Visual Basic Editor (or press  ALT+F11).

2. In the Visual Basic Editor, insert a Visual Basic module sheet. To do  this, click Module on the Insert menu.

3. Type one of the macro examples from this Application Note. If you downloaded this document from an online location, you can copy and paste the example directly into a module sheet. You can then run the example in the workbook.

4. To run a macro, point to Macro on the Tools menu, and then click Macros. In the Macro dialog box, click the macro name and click Run.

VISUAL BASIC FOR APPLICATIONS CODE EXAMPLES AND TIPS ====================================================

Command Bars

In Microsoft Excel 97, menu bars and toolbars are referred to as the same programmable object type, the CommandBar object. Within the CommandBar object are the controls that you use to refer to menus, menu items, submenus, and shortcut menus. With each control, you use a constant in the Type argument to specify which type of control to use for the menu, submenu, or menu item. For example, the MsoControlButton constant refers to menu items on menus. This Application Note discusses customizing and controlling command bar menus using Visual Basic for Applications.

Control Constants -

The following is a list of the various control constants that specify the type of graphical control to use for a particular menu bar control:

MsoControlButton              MsoControlGraphicDropdown MsoControlButtonDropdown      MsoControlGraphicPopup MsoControlButtonPopup         MsoControlGrid MsoControlComboBox            MsoControlLabel MsoControlCustom              MsoControlOCXDropDown MsoControlDropdown            MsoControlPopup MsoControlEdit                MsoControlSplitButtonMRUPopup MsoControlExpandingGrid       MsoControlSplitButtonPopup MsoControlGauge               MsoControlSplitDro pdown MsoControlGenericDropdown     MsoControlSplitExpandingGrid MsoControlGraphicCombo

Manipulating menus in Microsoft Excel primarily involves using the constants MsoControlButton (menu commands), MsoControlPopUp (menus), and MsoBarPopup (shortcut menu bars). For a graphical explanation of each constant, click the Office Assistant in the Visual Basic Editor, type "property" (without the quotation marks), click Search, and then click to view the "Type Property (Microsoft Office Reference)" topic.

Menu Bars -

A menu bar, which is a kind of command bar, is the kind of object on which you add menus, menu items, and submenus.

The Office Assistant in Microsoft Office Visual Basic Help can help you find information about the topics in the following table.

For Information About This Topic             Search for -

To add a new menu bar                        Add menubar To activate a created or built-in menu bar   Show menubar To delete a custom menu bar                  Delete menubar To determine whether a menu is built-in      Builtin menubar To restore all built-in menu bars, menus,    Restore menubar and menu items

The built-in menu bars that are included in Microsoft Excel 97 are listed in the following table.

Built-in Menu Bar            Description

Worksheet menu bar           The menu bar that appears when a worksheet is activated Chart menu bar               The menu bar that appears when a chart sheet or a chart object is selected

Returning an ID for a Command Bar Control:

Each command bar control has a unique ID. To return an ID for a control, use a macro.

This following example returns the ID for the Tools menu control on the Chart menu bar:

Sub Id_Control Dim myId as Object set myId = CommandBars("Chart Menu Bar").Controls("Tools") MsgBox myId.Caption & Chr(13) & MyId.Id  End Sub

For additional information, please see the following article in the Microsoft Knowledge Base:

ARTICLE-ID: Q159466 TITLE    : XL97: List of ID Numbers for Built-In Command Bar Controls

Saving the Active State (for Built-in or Customized Menu Bars):

You may want to declare OriginalMenuBar a public variable so that a subroutine can use it in an another subroutine, such as an Auto_Close subroutine. Declaring and using the variable this way resets the user's previous menu bar to its original state. The following sample macro resets the menu bar:

Public OriginalMenuBar as Object

Sub MenuBars_Capture Set OriginalMenuBar = CommandBars.ActiveMenuBar End Sub

The following sample macro recovers the captured menu bar:

Sub MenuBars_Recover OriginalMenuBar.Visible = True End Sub

Determining the Name of the Active Menu Bar:

The following sample macro returns the name of the active menu bar:

Sub MenuBars_GetName MsgBox CommandBars.ActiveMenuBar.Name End Sub

Creating a Custom Command Bar:

The following example creates a custom command bar named My Command Bar:

Sub MenuBar_Create Application.CommandBars.Add Name:="My command bar" End Sub

NOTE: The command bar is empty because no controls were added to it. It does not appear until you display it.

Displaying a Custom Command Bar:

The following example creates and then displays a custom My Custom Bar menu bar, and then replaces the built-in menu bar:

Sub MenuBar_Show Dim myNewBar as Object ' Setting the menubar property to True replaces the built-in menu ' bar. Set myNewBar = CommandBars.Add (Name:="My Custom Bar", MenuBar:=True) ' You must first enable your custom menu bar before you make it     ' visible. ' Enabling a menu bar adds it to the list of available menu bars on     ' the Customize dialog box. MyNewBar.Enabled = True MyNewBar.Visible = True End Sub

NOTE: The menu bar is empty because no controls were added to it. See the "Menu Items" section for examples that add controls to menu bars.

Deleting a Custom Command Bar:

The following example deletes the custom menu bar named My Custom Bar that you created in the previous example:

Sub MenuBar_Delete CommandBars("My Custom Bar").Delete End Sub

NOTE: You can only disable built-in command bars; you cannot delete them.

Hiding a Command Bar:

The following example hides the built-in Worksheet menu bar:

Sub MenuBar_Disable CommandBars("Worksheet Menu Bar").Enabled = False End Sub

Displaying a Command Bar:

The following example displays the built-in Worksheet menu bar:

Sub MenuBar_Display CommandBars("Worksheet Menu Bar").Enabled = True End Sub

Restoring a Built-in Command Bar:

Restoring a menu bar resets the default controls (menus and menu items). The following example restores the built-in Worksheet menu bar:

Sub MenuBar_Restore CommandBars("Worksheet Menu Bar").Reset End Sub

NOTE: You can reset only built-in menu bars; you cannot reset a custom menu bar.

Menus -

You can add menus to a custom or built-in menu bar.

The Office Assistant in Microsoft Office Visual Basic Help can help you find information about the topics in the following table.

For Information About This Topic             Search for --

To add a menu to the worksheet menu bar      Add menu To delete a menu from the worksheet menu bar Delete menu To restore a deleted built-in menu on the    Builtin menu worksheet menu bar To disable a menu on the worksheet menu bar  Disable menu

Adding a Custom Menu Control to a Command Bar:

The following example adds the myMenu menu to the Worksheet menu bar:

Sub Menu_Create Dim myMnu As Object Set myMnu = CommandBars("worksheet menu bar").Controls. _        Add(Type:=msoControlPopup, before:=3) With myMnu ' The "&" denotes a shortcut key assignment (Alt+M in this case). .Caption = "my&Menu" End With End Sub

Disabling a Menu Control on a Command Bar:

A menu that is disabled appears dimmed and is not available.

The following example disables the File menu:

Sub Menu_Disable CommandBars("Worksheet menu bar").Controls("File").Enabled = False End Sub

Enabling a Menu Control on a Command Bar:

The following example enables the File menu that you disabled in the previous example:

Sub Menu_Enable CommandBars("Worksheet menu bar").Controls("File").Enabled = True End Sub

Deleting a Menu Control on a Command Bar:

The following example deletes the Help menu from the Worksheet menu bar:

Sub Menu_Delete CommandBars("Worksheet menu bar").Controls("Help").Delete End Sub

Restoring a Menu Control on a Command Bar:

To restore a menu control, you must know the identification (ID) number for the control. To determine the ID number, see the "Returning an ID for a Command Bar Control" section.

The following example restores the Help menu on the Worksheet menu bar:

Sub Menu_Restore Dim myMnu As Object Set myMnu = CommandBars("Worksheet menu bar") ' Id 30010 refers to the Help menu control. myMnu.Controls.Add Type:=msoControlPopup, Id:=30010, before:=10 myMnu.Reset End Sub

Menu Items --

You can add menu item controls to or remove them from built-in or custom menu controls on command bars. Each command bar control has a unique identification number (ID). An ellipsis (...) that follows a menu item caption denotes a menu item that opens a dialog box. Menu items with a small, black arrow after the caption display one or more submenu items.

The Office Assistant in Microsoft Office Visual Basic Help can help you find information about the topics in the following table.

For Information About This Topic             Search for --

To add a menu item to an existing worksheet  Add menuitem menu To delete a menu item                        Delete menuitem To disable a custom menu item                Disable menuitem

Adding a Separator Bar to a Menu Control:

A separator bar is a horizontal line that separates menu commands on a menu.

The following example adds a separator bar before the Worksheet command on the Insert menu:

Sub menuItem_AddSeparator CommandBars("Worksheet menu bar").Controls("Insert") _ .Controls("Worksheet").BeginGroup = True End Sub

NOTE: To remove a separator bar, set the BeginGroup property to False.

Creating a Custom Menu Item Control on a Menu:

The following example creates a new command called Custom1 on the Tools menu of the Worksheet menu bar, and then runs the macro Code_Custom1 when you click Custom1:

Sub menuItem_Create With CommandBars("Worksheet menu bar").Controls("Tools") .Controls.Add(Type:=msoControlButton, Before:=1).Caption = _ "Custom1" .Controls("Custom1").OnAction = "Code_Custom1" End With End Sub

NOTE: This is the code that runs when you click Custom1.

Sub Code_Custom1 MsgBox "you clicked Custom1" End Sub

Placing a Check Mark Next to a Menu Item Control:

The following example places a check mark next to the Custom1 command if it is not selected and removes the check mark if it is selected:

Sub menuItem_checkMark Dim myPopup as Object

Set myPopup = CommandBars("Worksheet menu bar").Controls("Tools") If myPopup.Controls("Custom1").State = msoButtonDown Then ' Remove check mark next to menu item. myPopup.Controls("Custom1").State = msoButtonUp MsgBox "Custom1 is now unchecked" Else ' Add check mark next to menu item. myPopup.Controls("Custom1").State = msoButtonDown MsgBox "Custom1 is now checked" End If     End Sub

Disabling a Menu Item Control on a Command Bar:

Menu items that are disabled appear dimmed and are not available.

The following example disables the Custom1 menu item that you created on the Tools menu:

Sub MenuItem_Disable Dim myCmd as Object Set myCmd = CommandBars("Worksheet menu bar").Controls("Tools") myCmd.Controls("Custom1").Enabled = False End Sub

Enabling a Menu Item Control on a Command Bar:

The following example enables the Custom1 menu item that you disabled in the previous example:

Sub MenuItem_Enable Dim myCmd as Object Set myCmd = CommandBars("Worksheet menu bar").Controls("Tools") myCmd.Controls("Custom1").Enabled = True End Sub

Deleting a Menu Item Control on a Menu:

The following example deletes the Save menu item on the File menu:

Sub menuItem_Delete Dim myCmd as Object Set myCmd = CommandBars("Worksheet menu bar").Controls("File") MyCmd.Controls("Save").Delete End Sub

Restoring a Built-in Menu Item Control on a Menu:

To restore a menu item control, you must know the identification (ID) number for the control. To determine the ID number, see the "Returning an ID for a Command Bar Control" section.

The following example restores the Save menu item that you deleted in the previous example:

Sub menuItem_Restore Dim myCmd as Object Set myCmd = CommandBars("Worksheet menu bar").Controls("File") ' Id 3 refers to the Save menu item control. myCmd.Controls.Add Type:=msoControlButton, Id:= 3, Before:=5 End Sub

Submenus

Submenus appear to the side of the parent menu when you click a menu item. A menu item that is a submenu control has a small black arrow located at the right end of the menu item name.

Adding a Submenu:

The following example adds a new submenu named NewSub to the Tools menu on the Worksheet menu bar:

Sub SubMenu_Create Dim newSub as Object Set newSub = CommandBars("Worksheet menu bar").Controls("Tools") With newSub .Controls.Add(Type:=msoControlPopup, Before:=1).Caption="NewSub" End With End Sub

Adding a Menu Item to a Submenu:

This example adds a new menu item named SubItem1 to the NewSub submenu, and then runs the Code_SubItem1 macro when you click SubItem1:

Sub SubMenu_AddItem Dim newSubItem as Object Set newSubItem = CommandBars("Worksheet menu bar") _ .Controls("Tools").Controls("NewSub") With newSubItem .Controls.Add(Type:=msoControlButton, Before:=1).Caption = _ "SubItem1" .Controls("SubItem1").OnAction = "Code_SubItem1" End With End Sub

The following is the macro code that runs when you click SubItem1:

Sub Code_SubItem1 MsgBox "you clicked SubItem1" End Sub

Disabling a Menu Item Control on a Submenu:

Menu items that are disabled appear dimmed and are not available.

The following example disables the SubItem command that you created in the previous example:

Sub SubMenu_DisableItem CommandBars("Worksheet menu bar").Controls("Tools") _ .Controls("NewSub").Controls("SubItem1").Enabled = False End Sub

NOTE: To enable the disabled control, set the Enabled property to True.

Deleting a Command on a Submenu:

The following example deletes the SubItem1 command that you created on the NewSub submenu:

Sub SubMenu_DeleteItem CommandBars("Worksheet menu bar").Controls("Tools") _ .Controls("NewSub").Controls("SubItem1").Delete End Sub

Disabling a Submenu Control:

Submenus that are disabled appear dimmed and are not available.

The following example disables the NewSub submenu that you created on the Tools menu:

Sub SubMenu_DisableSub CommandBars("Worksheet menu bar").Controls("Tools") _ .Controls("NewSub").Enabled = False End Sub

NOTE: To enable the disabled control, set the Enabled property to True.

Deleting a Submenu Control:

The following example deletes the NewSub submenu that you created on the Tools menu:

Sub SubMenu_DeleteSub CommandBars("Worksheet menu bar").Controls("Tools") _ .Controls("NewSub").Delete End Sub

Shortcut Menu Bars --

Shortcut menu bars appear when you use the right mouse button to click a specific Microsoft Excel object. Microsoft Excel has many shortcut menu bars for which a variety of menus are available. You can also create custom shortcut menu bars and customize the built-in menu bars. The only difference between shortcut menus and other menu bars is that when you create the shortcut menu using the Add method, you must specify the msoBarPopUp constant as the Position argument. Use the ShowPopup method to display shortcut menus, as demonstrated in the previous examples. You can assign event procedures for user actions, for example, to display a shortcut menu in response to a right-click event.

The shortcut menu bars that are available in Microsoft Excel are as follows:

&Wizard           Document                   Query and Pivot ActiveX Control   Excel Control              Query Layout AutoCalculate     Floor and Walls            Rotate Mode AutoFill          Formula Bar                Row Built-in Menus    Inactive Chart             Series Cell              Layout                     Shapes Chart             Nondefault Drag and Drop   System Column            Object/Plot                Title Bar (Charting) Connector         OLE Object                 Trendline Curve             Pictures Context           Menu WordArt Context Menu Curve Node        PivotTable Context Menu    Workbook Tabs Curve Segment     Plot Area                  XLM Cell Desktop           Ply Dialog            Query

Creating a New Shortcut Menu Bar:

The following example creates a new shortcut menu bar called myShortcutBar:

Sub Shortcut_Create Dim myShtCtBar as Object Set myShtCtBar = CommandBars.Add(Name:="myShortcutBar", _     Position:=msoBarPopup) ' This displays the shortcut menu bar. ' 200, 200 refers to the screen position in pixels as x and y  coordinates. myShtCtBar.ShowPopup 200,200 End Sub

NOTE: The shortcut menu bar appears empty because no controls (menu items or submenus) have been added to it yet.

The constant msoBarPopup is used in the Position argument to denote a shortcut menu bar.

Shortcut Menus --

Creating a Menu Item on a Shortcut Menu Bar:

The following example creates a new menu command named Item1 on the shortcut menu bar named myShortcutBar and runs the Code_Item1 macro when you click Item1:

Sub Shortcut_AddItem Dim myBar as Object Set myBar = CommandBars("myShortcutBar") With myBar .Controls.Add (Type:=msoControlButton, before:=1).Caption = _ "Item1" .Controls("Item1").OnAction = "Code_Item1" End With myBar.ShowPopup 200,200 End Sub

The following is the macro that runs when you click Item1 on myShortcutBar:

Sub Code_Item1 MsgBox "you clicked Item1" End Sub

Disabling a Menu Item Control on a Shortcut Menu Bar:

Menu items that are disabled appear dimmed and are not available.

The following example disables the Item1 command that you created in the previous example:

Sub Shortcut_DisableItem Set myBar = CommandBars("myShortcutBar") myBar.Controls("Item1").Enabled = False myBar.ShowPopup 200,200 End Sub

NOTE: To enable the disabled item, set the Enabled property to True.

Deleting a Menu Item on a Shortcut Menu Bar:

The following example deletes the menu command named Item1 on myShortcutBar:

Sub Shortcut_DeleteItem Set myBar = CommandBars("myShortcutBar") myBar.Controls("Item1").Delete myBar.ShowPopup 200,200 End Sub

Deleting a Shortcut Menu Bar:

Deleting the shortcut menu bar removes it and all of its items. You cannot restore a deleted custom menu bar. To restore it, you must recreate it and all of its menu items, submenus, and so on.

The following example deletes the shortcut menu myShortCutBar that you created in a previous example:

Sub Shortcut_DeleteShortCutBar CommandBars("MyShortCutBar").Delete End Sub

Restoring a Menu Item on Built-in Shortcut Menu Bar:

You can restore default menu items on built-in menu bars. However, you cannot restore custom menu items. To restore a built-in menu control, you must know the identification (ID) number for the control. To determine the ID number, see the "Returning an ID for a Command Bar Control" section.

The following example restores the Cut command on the worksheet Cell shortcut menu bar:

Sub Shortcut_RestoreItem ' Id 21 refers to the Help menu control. CommandBars("Cell").Controls.Add Type:=msoControlButton, Id:21, Before:=1 End Sub

Submenus on Shortcut Menus --

You can create submenus on shortcut menu bars. Submenus appear to the side of the parent menu when you click a menu item control. A menu item that is a submenu control has a small, black arrow located to the right of its name.

Creating a New Submenu on a Shortcut Menu Bar:

The following example adds a new submenu named NewSub on the worksheet Cell shortcut menu:

Sub ShortcutSub_Create CommandBars("Cell").Controls.Add(Type:=msoControlPopup, before:=1) _ .Caption = "NewSub" ' This displays the shortcut menu bar. ' 200, 200 refers to the screen position in pixels as x and y      ' coordinates. CommandBars("Cell").ShowPopup 200, 200 End Sub

NOTE: The submenu is empty because no menu items have been added to it yet.

Creating a Menu Item Control on a Submenu Located on a Shortcut Menu Bar:

The following macro adds the command subItem1 to the submenu NewSub that you created on the Cell shortcut menu, and then runs the Code_subItem1 macro when you click subItem1:

Sub ShortcutSub_AddItem Dim newSubItem as Object Set newSubItem = CommandBars("Cell").Controls("NewSub") With newSubItem .Controls.Add(Type:=msoControlButton, before:=1).Caption = "subItem1" ' This will run the subItem1_Code macro when subItem1 is clicked. .Controls("subItem1").OnAction = "Code_subItem1" End With ' This displays the Cell shortcut menu bar. ' 200, 200 refers to the screen position in pixels as x and y     ' coordinates CommandBars("Cell").ShowPopup 200, 200 End Sub

The following is the macro that runs when you click subItem1:

Sub subItem1_Code MsgBox "you clicked subItem1" End Sub

Disabling a Submenu Item Control on a Shortcut Menu

Menu items that are disabled appear dimmed and are not available.

The following example disables the command subItem1 on the NewSub submenu:

Sub ShortcutSub_DisableItem CommandBars("Cell").Controls("NewSub") _ .Controls("subItem1").Enabled = False ' This displays the Cell shortcut menu bar. ' 200, 200 refers to the screen position in pixels as x and y     ' coordinates. CommandBars("Cell").ShowPopup 200, 200 End Sub

NOTE: To enable a disabled item, set the Enabled property to True.

Deleting a Submenu Item Control on a Shortcut Menu:

The following example deletes the command subItem1 on the NewSub submenu:

Sub ShortcutSub_DeleteItem CommandBars("Cell").Controls("NewSub").Controls("subItem1").Delete ' This displays the Cell shortcut menu bar. ' 200, 200 refers to the screen position in pixels as x and y     ' coordinates. CommandBars("Cell").ShowPopup 200, 200 End Sub

Disabling a Submenu Control on a Shortcut Menu:

Menu items that are disabled appear dimmed and are not available.

The following example disables the NewSub submenu on the Cell shortcut menu bar:

Sub ShortcutSub_DisableSub CommandBars("Cell").Controls("NewSub").Enabled = False ' This displays the Cell shortcut menu bar. ' 200, 200 refers to the screen position in pixels as x and y     ' coordinates. CommandBars("Cell").ShowPopup 200, 200 End Sub

NOTE: To enable a disabled item, set the Enabled property to True.

Deleting a Submenu Control on a Shortcut Menu:

Deleting the submenu removes it and all of its items. You cannot restore a deleted custom submenu. To restore it, you must recreate it and all of its menu items, submenus, and so on.

The following example deletes the NewSub submenu that you created on the Cell shortcut menu bar:

Sub ShortcutSub_DeleteSub CommandBars("Cell").Controls("NewSub").Delete ' This displays the Cell shortcut menu bar. ' 200, 200 refers to the screen position in pixels as x and y     ' coordinates. CommandBars("Cell").ShowPopup 200, 200 End Sub

WHERE TO FIND MORE INFORMATION

=
=================

The Object Browser --

The Object Browser contains a complete list of all of the properties and methods for a specific menu item. To find this information, switch to the Visual Basic Editor (press ALT+F11), click Object Browser on the View menu (or press F2), type the name of the control in the search box, and then press ENTER or click Search.

For more information about using the Object Browser, click the Office Assistant in the Visual Basic Editor, type "object browser" (without the quotation marks), click Search, and then click to view the "Use the Object Browser" topic.

NOTE: If the Assistant is hidden, click the Office Assistant button on the Standard toolbar. If Microsoft Excel Help is not installed on your computer, please see the following article in the Microsoft Knowledge Base:

ARTICLE-ID: Q120802 TITLE    : Office: How to Add/Remove a Single Office Program or Component

Microsoft Knowledge Base

The Microsoft Knowledge Base is a primary Microsoft product information source for Microsoft Technical Support professionals. The Microsoft Knowledge Base is also available to Microsoft customers. This comprehensive database contains detailed articles with technical information about Microsoft products, documented fix lists, documentation errors, and answers to commonly asked technical support questions. These articles are available through the World Wide Web, The Microsoft Network, CompuServe*, Genie(tm), and the Microsoft Developer Network compact disc. You can also access the Knowledge Base if you purchase a Microsoft TechNet compact disc subscription.

Using the Microsoft Knowledge Base on the World Wide Web:

To connect to the Microsoft Knowledge Base on the Web, use the following address

http://support.microsoft.com/support

and follow the detailed instructions on the page.

NOTE: Because the Microsoft Web site is regularly updated, the site address may change without notice. If this occurs, link to the Microsoft home page at the following address:

http://www.microsoft.com

Using the Microsoft Knowledge Base on The Microsoft Network:

To connect to the Microsoft Knowledge Base, use the following steps:

1. On the Edit menu, click Go to.

2. Click Other Location.

3. When the prompt "Type a Go word for a particular service" appears, type "mssupport" (without the quotation marks).

NOTE: It may take a minute or more for the Microsoft Knowledge Base to appear while it prepares the necessary files to run.

4. Double-click MS Knowledge Base.

---

The disk and software contained on it, including any accompanying documentation (the "Software"), are provided to you at no additional charge. Microsoft Corporation owns all rights, title, and interest in and to the Software. The user assumes the entire risk as to the accuracy and the use of the Software.

COPYRIGHT NOTICE. Copyright (c) 1997 Microsoft Corporation. Microsoft and/or its suppliers, One Microsoft Way, Redmond, Washington 98052-6399 U.S.A. All rights reserved.

TRADEMARKS. Microsoft, Windows, Windows NT, MSN, The Microsoft Network and/or other Microsoft products referenced herein are either trademarks or registered trademarks of Microsoft. Other product and company names mentioned herein may be the trademarks of their respective owners.

The names of companies, products, people, characters and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product or event, unless otherwise noted.

NO WARRANTY. THE SOFTWARE IS PROVIDED "AS-IS," WITHOUT WARRANTY OF ANY KIND, AND ANY USE OF THIS SOFTWARE PRODUCT IS AT YOUR OWN RISK. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, MICROSOFT AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES AND CONDITIONS, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON- INFRINGEMENT, WITH REGARD TO THE SOFTWARE.

LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL MICROSOFT OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF MICROSOFT HAS BEEN ADVISED OF THE POSSIBLITY OF SUCH DAMAGES. BECAUSE SOME STATES AND JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY. MICROSOFT'S ENTIRE LIABILITY AND YOUR EXCLUSIVE REMEDY UNDER THIS EULA SHALL NOT EXCEED FIVE DOLLARS (US$5.00).

The following conditions also apply to your use of the Software:

The Software may be copied and distributed internally only, subject to the following conditions: All | text must be copied without modification and all pages must be included; If software is included, all files on the disk(s) |must be copied without modification [the MS-DOS(R) utility diskcopy is appropriate for this purpose]; All components of this Software must be distributed together; and This Software may not be distributed to any third party.

If you are not a Microsoft Premier customer, Microsoft shall not provide technical support for this Software.

The Software is provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Software-Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is Microsoft Corporation, One Microsoft Way, Redmond, WA 98052-6399. Any transfer of the Software must be accompanied by this statement and may only be transferred if first approved by Microsoft.

You agree that you will not export or re-export the Software to any country, person, entity or end user subject to U.S.A. export restrictions, and you are responsible for complying with all applicable U.S. and local export laws in connection with the use of this Software. You warrant and represent that neither the U.S.A. Bureau of Export Administration nor any other federal agency has suspended, revoked or denied you export privileges.

This EULA is governed by the laws of the State of Washington, U.S.A.

Additional query words: appnote

Keywords: kbdownload kbappnote kbfile kbgraphxlink kbinfo kbprogramming KB166755

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.