Registrations are now open. Join us today!
There is still a lot of work to do on the wiki yet! More information about editing can be found here.
Already have an account?

Microsoft KB Archive/104493

From BetaArchive Wiki

Microsoft Knowledge Base

XL: Macro Error Using Menu Customizing Function Commands

Last reviewed: June 30, 1997
Article ID: Q104493

The information in this article applies to:

  • Microsoft Excel for Windows, version 5.0
  • Microsoft Excel for the Macintosh, version 5.0
  • Microsoft Excel for Windows 95, version 7.0
  • Microsoft Excel for Windows NT, version 5.0

SYMPTOMS

When you run a Microsoft Excel 4.0 macro that deletes a custom menu or command from the worksheet, macro sheet, or chart menu bar, you receive the following macro error:

   Command or menu does not exist.

CAUSE

This behavior occurs when you run a macro that contains one of the menu function commands such as DELETE.COMMAND, if the command uses the bar_num argument with the value 1 or 2.

In Microsoft Excel 5.0, you can display either version 4.0 or version 5.0 menus. Because in Microsoft Excel 4.0, bar 1 refers to the standard menu bar for sheets and bar 2 refers to the chart menu bar, in version 5.0, 1 and 2 remain the identifiers for the version 4.0 menus. In Microsoft Excel 5.0, bar 10 refers to the standard menu bar for worksheets and macro sheets and bar 11 refers to the chart menu bar.

The ADD.MENU() and ADD.COMMAND() macro functions add menus and commands to the menu bar you specify for the bar_num argument. If you specify 1, the menu or command is also added to bar 10; if you specify bar 2, bar 11 is updated. When you add a command to a menu that only exists in Microsoft Excel 4.0, the command will be added to the version 5.0 menu that is in the same position as the version 4.0 menu. This means that you can run a version 4.0 customizing macro in Microsoft Excel 5.0 without having to use version 4.0 menus.

The DELETE.MENU() and DELETE.COMMAND() macro functions remove menus and commands from the menu bar you specify with the bar_num argument. However, when you use one of these functions to delete the custom menu or command from bar 1 or 2, the menu or command is not similarly deleted from bar 10 or 11. Additionally, the command causes a macro error when you are not using version 4.0 menus. This same problem occurs when you use the RENAME.COMMAND() and the ENABLE.COMMAND() functions.

WORKAROUND

To avoid receiving a macro error when you run a macro that contains a menu customizing macro function, use the appropriate bar_num value, 10 or 11 in the DELETE.MENU(), DELETE.COMMAND(), RENAME.COMMAND() or the ENABLE.COMMAND() function, to remove a menu or command from the version 5.0 menu bar. If you are removing a command from a menu that exists in 4.0 and not in version 5.0, you must specify the version 5.0 menu to which the command was added either by name or by position number.

Although you can run a version 4.0 macro that adds a command or menu in Microsoft Excel 5.0 without having to use version 4.0 menus, the best solution is to revise all of your customizing commands to work with version 5.0 menu bars.

MORE INFORMATION

For more information about Microsoft Excel Macro Functions, do the following:

  1. Choose Contents from the Help menu.
  2. Select Reference Information from the Microsoft Excel Help Contents screen.
  3. Select Microsoft Excel Macro Functions from the Reference Information screen.
  4. Select Alphabetical List Of Macro Functions or Macro Functions Listed by Category from the Microsoft Excel Macro Functions Contents screen.

Additional reference words: 7.00 5.00

Keywords : kbother kbprb kbprg kbprg
Version : 5.00 5.00c 7.00 | 5.00 5.00a
Platform : MACINTOSH WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: June 30, 1997
©1997 Microsoft Corporation. All rights reserved. Legal Notices.