XLL+ Class Library (7.0)

Parameter Element

This element defines a parameter to either a function extension or an extended argument type. It may contain any or all of the following optional child elements, each of which may appear only once or not at all: LocalizedDisplayName, LocalizedDescription, RejectionMessage. It must contain the following required attributes: name, parameterType and defaultValue. It may contain the following optional attributes: filter, availableAtRuntime.



Required. The name attribute uniquely defines the name of the parameter. The name is not used in any C++ code, and does not need to be a valid C++ identifier. However, it may be used in the persisted form of any argument or function that uses it, and therefore can never be changed.


Required. The parameterType attribute determines the C++ type of the parameter. It must be one of: Boolean, Integer, String.


Required. The defaultValue attribute contains a string that will be used as the default value for this parameter. It must be a legal C++ value of the appropriate type. Thus for Boolean parameters, it should be true, false or a global variable of C++ type bool. For Integer parameters, it should be a numeric literal, e.g. 0, 123, -999, or a global variable of C++ type int. For String parameters, it should be a string literal, e.g. "", "abc", 0, L"", L"abc" or a global variable of C++ type const char* or const wchar_t*.


The filter attribute optionally contains a regular expression which will be tested against any value entered for the parameter in the XLL+ design-time user interface. The filter attribute is used only for String type parameters, and is ignored for other types. If a filter attribute is provided, and a value fails to match the regular expression, then an error message will be displayed, and the developer will have to try another value. You may optionally provide the error message in the RejectionMessage element (which may be localized). If no RejectionMessage element is provided, then a standard error message will be displayed.


The availableAtRuntime attribute determines whether the value of the parameter will be made available at run-time to the convert class instance. If it is set to true, then the converter class's implementation of ConvertFromExcel() can use params.GetIntParam(n), params.GetStringParam(n) or params.GetBoolParam(n) to retrieve the value. If it is set to false, then the parameter will be available to the code generator, but will not be made available at run-time.

Element Information

Number of occurrences


Parent elements


Child elements

LocalizedDisplayName  LocalizedDescription  RejectionMessage 

See Also

XLL+ Extensions Schema