Microsoft KB Archive/162878

= XL97: Sample Macros That Customize and Control Shortcut Menus =

Article ID: 162878

Article Last Modified on 11/23/2006

-

APPLIES TO


 * Microsoft Excel 97 Standard Edition

-



This article was previously published under Q162878





SUMMARY
This article includes sample Visual Basic for Applications macros that customize and control shortcut menus using the Commandbar object.

IMPORTANT: Some of the examples in this article use the ID number for a particular control. To restore a built-in menu that is deleted by a sample macro, you must know its ID number.

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

159466 XL97: List of ID Numbers for Built-In Command Bar Controls

162814 XL97: Sample Macros to Return ID for a CommandBar Control

159619 XL97: Sample Macros for Customizing Menus and Submenus



MORE INFORMATION
Microsoft provides programming examples 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. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals 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 needs. If you have limited programming experience, you may want to contact a Microsoft Certified Partner or the Microsoft fee-based consulting line at (800) 936-5200. For more information about Microsoft Certified Partners, please visit the following Microsoft Web site:

https://partner.microsoft.com/global/30000104

For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:

http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Deleting and Restoring an Entire ShortCut Menu Bar
The following macro example deletes the worksheet cell shortcut menu: Sub Del_ShortCutMenu

CommandBars("Cell").Enabled = False

End Sub The following macro example restores the worksheet cell shortcut menu: Sub Restore_ShortCutMenu

CommandBars("Cell").Enabled = True

End Sub

Deleting and Restoring a Menu on a Shortcut Menu
The following macro example deletes the Cut command on the worksheet cell shortcut menu: Sub Del_Item

CommandBars("Cell").Controls("Cut").Delete

End Sub The following macro example restores the Cut command on the worksheet cell shortcut menu: Sub Add_Item

CommandBars("Cell").Controls.Add Type:=msoControlButton, Id:=21, _ Before:=1

End Sub NOTE: ID 21 corresponds to the Cut command.

Deleting and Restoring a Submenu on a Shortcut Menu
The following macro example deletes the Formulas submenu on the PivotTable shortcut menu: Sub Del_Submenu

CommandBars("PivotTable Context Menu").Controls("Formulas").Delete

End Sub NOTE: ID 21 corresponds to the Cut command.

The following macro example restores the Formulas submenu on the PivotTable shortcut menu: Sub Restore_Submenu

Dim x as Object set x = CommandBars("PivotTable Context Menu") x.Controls.Add Type:=msoControlPopup, Id:=30254, Before:=8 x.Reset ' The reset method is used to populate the Formulas submenu

End Sub NOTE: ID 30254 corresponds to the Formulas submenu.

Deleting and Restoring a Command on Submenu
The following macro example deletes the Calculated Field command on the Formulas submenu on the PivotTable shortcut menu: Sub Del_Submenu_Item

Dim x as Object set x = CommandBars("PivotTable Context Menu").Controls("Formulas") x.Controls("Calculated Field...").Delete

End Sub The following macro example restores the Formulas submenu on the PivotTable shortcut menu: Sub Restore_Submenu_Item

Dim x as Object set x = CommandBars("PivotTable Context Menu").Controls("Formulas") x.Controls.Add Type:=msoControlButton, Id:=1597, Before:=1

End Sub NOTE: ID 1597 corresponds to the Calculated Field command on the Formulas submenu.

