XLL+ Class Library

Function Extended Attributes Dialog

This dialog allows you to edit various extended attributes of a function.

Uses application-level data

This flag reflects the function attribute "appscope". If true, it indicates that the function will make use of application level resources, i.e. data which resides within the application object. If the flag is set to true, then the following line will be emitted at the start of the add-in function's code:

    XLL_FIX_STATE;

If the flag is set to false, then no corresponding code will be emitted.

See also Uses Application-level Data command and Function attribute: appscope.

Disabled in Formula Wizard

This flag reflects the function attribute "nopreview". If true, it indicates that the function will not run if it detects that it is being called from the Excel Formula Wizard. If the flag is set to true, then the following lines will be emitted at the start of the add-in function's code:

    if (CXllApp::IsInFormulaWizard())
        return CXlOper::RetError(xlerrNA);
or
    if (CXllApp::IsInFormulaWizard())
        return 0;

If the flag is set to false, then no corresponding code will be emitted.

See also Disabled in Excel Formula Wizard command and Function attribute: nopreview.

Cache results

Use this command to toggle the value of the current function's cacheresults attribute. This attribute determines whether code is generated to cache the results of each calculation, so that they will be available immediately if the function is called again with the same arguments. Since Excel often recalculates cells unnecessarily, the cache can improve performance markedly.

If the flag is set to true, then the following lines will be emitted at the start of the add-in function's code:

    CXlInputKey xliKey("AvgOptValue", &Put, true);
    if (XllGetTypedApp()->m_cache.Find(xliKey, xloResult))
        return xloResult.Ret();
In addition, a line will be generated just before the function returns, thus:
    XllGetTypedApp()->m_cache.Add(xliKey, xloResult);
    return xloResult.Ret();

If the flag is set to false, or if the function has no arguments, then no such code will be emitted.

For more information see CXlOperCache object, Cache Results command and Function attribute: cacheresults.

Defaults tab

If you select the Default tab, you can edit the settings that will be applied to all new functions created with the Function Wizard.

See Also

Function Wizard | Function Attributes Command