Microsoft KB Archive/206493

= XL98: Sample Macros for Customizing Menus and Submenus =

Article ID: 206493

Article Last Modified on 9/12/2006

-

APPLIES TO


 * Microsoft Excel 98 for Macintosh

-



This article was previously published under Q206493





SUMMARY
The process of programmatically changing menus in Microsoft Excel 98 Macintosh Edition is different than earlier versions of Microsoft Excel for Macintosh. The biggest change in Microsoft Excel 98 Macintosh Edition is that toolbars, menu bars, and shortcut menus are considered one type of object (called a command bar). Most Visual Basic for Applications macros that you create in earlier versions of Microsoft Excel that customize menus and toolbars work in Microsoft Excel 98 Macintosh Edition. However, some macros may fail. In this case, modify the macro code to work with the new object type.

This article provides several examples that illustrate how to customize menu bars, menus, and toolbars in Microsoft Excel 98 Macintosh Edition.

NOTE: Many of the sample macros in this article use the ID number for a particular control as an argument for the Add method. You must know the ID number if you want to restore built-in menus that you deleted.



MORE INFORMATION
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.

Deleting an Entire Command Bar
The following macro disables the Standard command bar. After you run the following macro, the Standard command bar is not displayed when a worksheet is active. Sub Disable_Menu_Bar CommandBars("Standard").Enabled = False End Sub The following macro re-enables the Standard command bar so that it is displayed when a worksheet is active. Sub Enable_Menu_Bar CommandBars("Standard").Enabled = True End Sub NOTE: Although the Worksheet menu bar is a command bar, you can not disable it in Microsoft Excel 98 Macintosh Edition. On the Macintosh, the menu bar must remain at the top of the screen.

Deleting and Restoring a Menu on a Menu Bar
The following macro deletes the Help menu from the Worksheet menu bar. Sub Delete_Help_Menu CommandBars("Worksheet Menu Bar").Controls("Window").Delete End Sub The following macro restores the Help menu to the Worksheet menu bar. Sub Restore_Help_Menu set x = CommandBars("Worksheet Menu Bar") x.Reset End Sub NOTE: This macro resets the entire Worksheet menu bar back to its default settings. When you run this macro, all customizations that you made to the Worksheet menu bar are lost.

Deleting and Restoring a Menu Command on a Menu
The following macro deletes the Contents And Index menu command on the Help menu. Sub Delete_Menu_Item Set x = CommandBars("Worksheet Menu Bar").Controls("Help") x.Controls("Contents and Index").Delete End Sub The following macro restores the Contents and Index menu command on the Help menu. Sub Restore_Menu_Item Set x = CommandBars("Worksheet Menu Bar").Controls("Help") x.Controls.Add Type:=msoControlButton, Id:=983, before:=2 End Sub

Deleting and Restoring a Submenu on a Menu
The following macro deletes the Sheet submenu on the Format menu. Sub Delete_Submenu Set x = CommandBars("Worksheet Menu Bar").Controls("Format") x.Controls("Sheet").Delete End Sub The following macro restores the Sheet submenu on the Format menu. Sub Restore_Submenu Set x = CommandBars("Worksheet Menu Bar").Controls("Format") x.Controls.Add Type:=msoControlPopup, ID:=30026, before:=4 End Sub

Deleting and Restoring a Menu Command on a Submenu
The following macro deletes the Protect Sheet menu command on the Protection submenu (on the Tools menu). Sub Delete_Item_on_Submenu Set x = CommandBars("Tools").Controls("Protection") x.Controls("Protect Sheet...").Delete End Sub The following macro restores the Protect Sheet menu command on the Protection submenu (on the Tools menu).

Sub Restore_Item_on_Submenu Set x = CommandBars("Tools").Controls("Protection") x.Controls.Add Type:=msoControlButton, Id:=893, before:=1 End Sub

Deleting and Restoring a Menu on a Toolbar
The following macro deletes the Draw menu on the Drawing toolbar. Sub Delete_Menu_on_Toolbar CommandBars("Drawing").Controls("Draw").Delete End Sub The following macro restores the Draw menu on the Drawing toolbar. Sub Restore_Menu_on_Toolbar Set x = CommandBars("Drawing") x.Controls.Add Type:=msoControlPopup, Id:=30013, before:=1 End Sub

Deleting and Restoring a Menu Item on a Shortcut Menu
The following macro deletes the Insert Comment menu command on the worksheet cell shortcut menu. Sub Delete_Shortcut_menu_item CommandBars("Cell").Controls("Insert Comment").Delete End Sub The following macro restores the Insert Comment menu command on the worksheet cell shortcut menu and restores the separator line that the previous macro deleted. Sub Restore_Shortcut_menu_item Set x = CommandBars("cell") x.Controls.Add Type:=msoControlButton, Id:=2031, before:=8 Application.ShortcutMenus(xlWorksheetCell).MenuItems.Add _ Caption:="-", before:=9 End Sub

