What was New in XLL Plus 6.0

There were a host of new features in XLL+ 6.0. A few of the most exciting are described below.

Excel 2007 support
XLL Add-ins window
Object handles
Asynchronous functions
Languages other than English
Formula Wizard Preview
Integrated CHM Help

Excel 2007 Support

XLL+ 6.0 supports the new features of Excel 2007, including:

  • Thread-safe functions
  • Huge worksheets
  • 30 arguments per function
  • Unicode strings

If you use an XLL under an older version of Excel, then the functions will continue to work, but will not make use of the new Excel 2007 features.

For more information, see Excel 2007 in the on-line documentation.

XLL Add-ins window

The XLL Add-ins window is a ToolWindow that lives inside Visual Studio, and lets you directly view and edit all of your add-in functions.

You can use the Add-ins window to navigate around your source code, and you can use it with the Visual Studio Properties window to make changes directly to your add-in functions without needing to pop up the XLL+ Function Wizard. You can select multiple functions, and make changes to them all at the same time.

For more information, see XLL Add-ins ToolWindow in the on-line documentation.


XLL+ 6.0 offers a variety of new extensibility features to make the code generated by the XLL+ tools fit ever more closely with your existing code-base.

Extended types

XLL+ has always been able to transform Excel inputs to standard C and C++ types, such as double, int, std::string etc.

With XLL+ 6.0, we have introduced extended types, which let you specify your own value types, such as date classes, currency codes or enumerated values, and have them appear in the Function Wizard along with the standard built-in types.

The Function Wizard generates all the code necessary to transform the Excel inputs to the extended type, as well as validating the input and generating appropriate error messages if input validation fails.

See Extended types in the User Guide for more on extended types.

Function extensions

With XLL+ 6, you can author your own function extensions, which will be inserted into the generated code for a function by the XLL+ Function Wizard whenever you select them.

Typical uses of function extensions include:

  • Writing usage information to a log.
  • Selectively allowing only certain classes of user to access certain add-in functions.
  • Standard handling for exceptions generated by calls to your existing libraries.
  • Serializing all arguments and passing the function call to a grid computing network.

See Function extensions in the User Guide for more information.

Container classes

Earlier versions of XLL+ offered limited container support. 1-dimensional inputs were placed into std::vector, and 2-dimensional inputs were delivered to ple::imtx matrix classes.

With XLL+ version 6, you can specify the container type for any or all of your vector and matrix inputs. So if you are writing XLL add-ins which call libraries of existing functions, you can deliver the Excel inputs directly into the container type expected by the libraries.

Object handles

With XLL+ 6, you can return objects to Excel, and represent them as handles, without any coding. Handles can be passed as arguments to add-in functions, and the XLL+ Function Wizard will generate code to convert each handle to the object it represents.

See Object handles in the User Guide for more information and examples.

Asynchronous functions

If a function takes a very long time to complete, Excel is locked and unusable in the meantime. It is sometimes useful to run the function asynchronously, in a separate thread, so that Excel remains available while the function completes. While the calculation is continuing, the target cell will display "#WAIT!", and when it is complete, the result will automatically be updated to display the result.

In the past, this kind of functionality took a lot of effort to create, and incurred a high maintenance cost because of the complexity of the code. With XLL+ 6, the XLL+ Function Wizard lets you create an asynchronous version of a function with no coding.

For more information, see Asynchronous functions in the User Guide.

Languages other than English

Error messages returned by the XLL+ run-time can now be delivered in languages other than English. For more information on this and other language improvements, see Languages other than English in the User Guide.

Formula Wizard Preview

The new Formula Wizard Preview lets you see exactly how your function will look in the Excel Formula Wizard. You don't need to start up Excel to see if your names and descriptions will fit in the Wizard.

See Previewing the Function Wizard in the User Guide for more information.


You can create a repository of "Favorite arguments" so that standard arguments to functions can be easily reused in new add-in functions. You can share the repository between team members so that all functions have standardized names, descriptions and signatures.

See Favorite arguments in the User Guide for more information.

Integrated CHM Help

The new Help Generator builds full-featured compiled help files for your add-ins, and lets you add your own HTML content that will be inserted into the compiled help.

The help topics will automatically be available from the Excel Formula Wizard, when the user clicks on "Help for this function".

For more information, see Generating help in the User Guide.

Version History

To see the enhancements and changes in earlier versions, use the links below.

What was new in XLL+ 5.0
What was new in XLL+ 4.3