WORKAROUND
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:
For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:
Most functionality originally provided by the controls in the Macro Options
dialog box is available when you run a macro that uses the MacroOptions
method.
The MacroOptions method in Microsoft Excel uses the following syntax:
Application.MacroOptions Macro:=<macroname>, <optional arguments>
where <macroname> is the name of the macro whose options you want to
change. The optional arguments are separated by commas.
Each control in the Macro Options dialog box has a corresponding optional
argument that you can add to the MacroOptions method. The following table
lists the controls previously available in the Macro Options dialog box and
the optional argument that allows you to change the setting in question.
Control MacroOptions Optional Argument
----------------------------------------------------------------------
Description box Description:=<variant, a description of the
macro>
Menu Item On Tools HasMenu:=<variant, True or False>*
Menu check box
Menu Text box MenuText:=<variant, the text that should appear
on the Tools menu>*
Shortcut Key HasShortcutKey:=<variant, True or False>
check box
Ctrl+ box ShortcutKey:=<variant, a text string containing a
single letter, either upper- or lower-case>
Function Category Category:=<variant, a number that specifies the
list box macro function category>
Status Bar Text StatusBar:=<variant, text to appear in the status
box bar when the user points to a menu item
assigned to the macro>
Help Context ID HelpContextId:=<variant, a number that specifies
box the context ID for the help topic assigned to
the macro>
Help File Name HelpFile:=<variant, the name of the Help file
box assigned to the macro>
For example, assume you have a macro called "Test" and you want to set the
following options for the macro.
Option Value
-----------------------------------------------
Description This is my test macro.
Shortcut Key yes, CTRL+j
Status Bar Text Test Macro written by J. Tech
Help Context ID 15
Help File Name C:\Sample\Testhelp.hlp
You could set these options by executing the following command in a
Microsoft Visual Basic for Applications macro:
Application.MacroOptions Macro:="Test", _
Description:="This is my test macro.", HasShortcutKey:=True, _
ShortcutKey:="j", StatusBar:="Test Macro written by J. Tech", _
HelpContextId:=15, HelpFile:="C:\Sample\Testhelp.hlp"
Since the Macro Options dialog box in Microsoft Excel 97 does not contain
all of the same controls as in earlier versions of Microsoft Excel, this is
the only method you can use to set most of the macro options.
Note: The arguments marked above with an asterisk (*), HasMenu and
MenuText, are ignored in Microsoft Excel 97. This functionality is no
longer available.
For additional information, please see the following article in the
Microsoft Knowledge Base:
157203 XL97: Cannot Add Macros to the Tools Menu