XL: Add-in Macro Fails to Load when Starting ExcelLast reviewed: February 2, 1998Article ID: Q100614 |
The information in this article applies to:
SYMPTOMSWhen you automatically load an add-in macro sheet, the add-in may appear to fail to load. All of the add-in custom functions appear in the Formula Paste Function dialog box, but none of its custom menu commands appear. The primary method for automatically loading a document when you start Microsoft Excel is to place the file in your startup directory:
CAUSEThis problem occurs when the name __DemandLoad is defined in the add-in sheet and either of the following is true:
MORE INFORMATIONWhen the name __DemandLoad (note that the string "DemandLoad" is preceded by two underscores) is defined on the add-in macro sheet, the add-in file is not actually loaded until you open it from the Open dialog box or until one of its custom functions is entered into a sheet or is recalculated. In essence, the add-in is loaded into memory upon demand. This saves time and memory when you start Microsoft Excel. Because the add-in macro is not loaded, any auto open macros that add custom menu commands or run other command macros are not executed. Only custom functions are added when __DemandLoad is defined on your sheet. If your add-in macro sheet contains both types of macros, you can remove the defined name __DemandLoad from your add-in sheet and save it to your startup directory. When you start Microsoft Excel, this loads the add-in, executes any auto open macros, and adds custom functions to the Paste Function dialog box. Alternatively, if you want the add-in macro to load on demand when one of its custom functions or custom menu commands is called, in addition to __DemandLoad, add the defined names __Command and/or __Menu, to your add-in sheet and then use the Add-in Manager to add your add-in to the startup list contained in your EXCEL4.INI file (Windows) or Excel Settings (4) file (Macintosh). The Add-in Manager checks for these defined names and performs the specified action.
__DemandLoadWhen this name is defined on the add-in sheet, the Add-in Manager adds an OPEN= line with the /F switch to the Microsoft Excel section in your settings file. The OPEN= line contains the path and name of your add-in macro. /F is a fast load option switch that, when used in conjunction with a file containing the defined name __DemandLoad, places all of the custom functions in the Paste Function dialog box. Note that if the add-in macro sheet does not contain the defined name, the add-in file is fully loaded when you start Microsoft Excel. The definition for __DemandLoad is not important. In the add-ins that are built into Microsoft Excel, it is commonly defined as the Boolean value, TRUE. When defined as FALSE, however, it functions the same.
__CommandWhen this name is defined on the add-in sheet, the Add-in Manager adds your custom commands to specified menus when you start Microsoft Excel. Similar to __DemandLoad, the add-in macro sheet is not actually loaded until you select one of the commands. This saves time and memory when you start Microsoft Excel. The Add-in Manager adds the information necessary to add the custom menu commands to the Init Commands section of your settings file. __Command must refer to a horizontal array that contains the following information (only the first 4 are required):
<Menu_Bar_Num> Menu bar number <Menu Name> Menu the command should be added to <Command Name> Name of the command to be added <Macro text> Name of the macro to run when command is selected <Position> Position of command on the menu <Key> Macro shortcut key <Status> Message to be displayed on the Status bar <Help> Help topic numberThe array can be a cell range or an array formula. Assume your add-in contains a SalesRpt macro that runs when you select Create Report from the Options menu. You can enter the following information in cells and define __Command as =$B$1:$E$1 (in the Refers To box),
B1: 1 C1: Options D1: Create Report E1: SalesRpt -or-you can use an array formula as follows:
={1,"Options","Create Report","SalesRpt"}If you have more than one custom command to add, use sequential names beginning with __Command, then __Command1, __Command2, and so on.
__MenuUse this defined name when your add-in creates a custom menu. The Add-in Manager adds the information necessary to add the custom menu to the Init Menus section of your settings file. Like the definition for __Command, __Menu must refer to a horizontal cell range or array formula containing the following information:
<Menu_Bar_Num> Number of the bar you want to add the menu to <New Menu> The name of your menu <Position> Position of the menu on the barAgain, if you have more than one custom menu to add, use sequential names beginning with __Menu, __Menu1, __Menu2, and so on.
REFERENCES"EXCELINI.TXT" "SDK User's Guide," page 441
|
Additional query words: 4.0 4.00 4.0a 4.00a 5.0 5.00 excel.ini
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |