XLL+ Class Library (7.0)

What's New in Version 7.0

Version 7.0.9

XLL+ 7.0.9 introduces support for Microsoft Visual Studio 2017.

Enhancements in version 7.0.9 include:

Intellisense
Support for Excel-DNA IntelliSense has been added. An external IntelliSense file is now generated as part of the help build. As a result, if the Excel-DNA IntelliSense add-in is also loaded, context-sensitive help will be displayed when formulae containing XLL+ add-in functions are edited.
CXlOper::GetLongFormula
A new method can be used to retrieve very long formula strings (greater than 118 characters), if the standard method fails.

Fixes in version 7.0.9 include:

Ribbon server incorrectly handled getSelectedItemID callback
Indexed items in ribbons, including dropDown and gallery, which used the attribute getSeletedItemID were not being correctly handled by the ribbon server. This behavior has been fixed.
Ribbon server did not implement onChange callback
The callback function matching the attribute onChange was not being invoked by the ribbon server. This behavior has been fixed.
Do not call in Formula Wizard fails under Excel 2013 and above
Functions marked as 'Do not call in Formula Wizard' were still being called from the Excel Formula Wizard in Excel 2013 and above. This behavior has been fixed.
CXlOper::MakeRef and CXlFuncs::Indirect
CXlOper::MakeRef and CXlFuncs::Indirect for addresses containing only a sheet name and cell address when the workbook name contained a space were failing to resolve in Excel 2010 and above. This behavior has been fixed by adding appropriate single quotes to the address text.
VariantToXlOper fails on 1-dimensional arrays
VariantToXlOper fails to convert 1-dimensional arrays into XlOper. This behavior is required from later versons of the Excel object model, which can return 1-dimensional arrays from Range.Value. Previously all arrays were 2-dimensional. The abilty to convert 1-dimensional arrays has been added to VariantToXlOper().

Version 7.0.8

XLL+ 7.0.8 is a maintenance release.

Fixes in version 7.0.8 include:

Queued functions could fail to update
Functions that are marked as Queued can fail to update after completing their asynchronous calculations. This behavior has been fixed.
Bad 64-bit platform settings for Visual Studio 2015
On Visual Studio 2015, the 64-bit platform settings of projects created with the XLL+ Application Wizard were faulty, and projects could fail to build. This has been fixed.
CXlOper::GetWorksheetNames() documentation
The documentation for CXlOper::GetWorksheetNames() was missing. This has been fixed.

Enhancements in version 7.0.8 include:

Allow named grouped arguments to be omitted
Grouped scalar arguments that are supplied with labels can now omit one or more of the grouped items, so long as each such item is marked as optional.
Queued sample
A new sample add-in, Queued, has been added. This project demonstrates the use of queued asynchoronous functions.

Version 7.0.7

XLL+ 7.0.7 introduces support for Microsoft Visual Studio 2015.

Enhancements in version 7.0.7 include:

Compiler warnings
Changes have been made to the run-time libraries and to the code templates to remove as many as possible of the level 4 warnings which occur when W4 is specified. Additionally, the sample applications' generated code has been updated where necessary.
Full text search in help
Generated help can now contain full text search, by means of the new FullTextSearch attribute of the Help element in the help control file.

Version 7.0.6

XLL+ 7.0.6 introduced support for Microsoft Visual Studio 2013.

New features added with version 7.0.6 include:

Complex handle types
Object handles can now be complex types and can include namespaces and templates, e.g.: std::map<std::string, std::string>. It is no longer necessary to create a typedef for this kind of object.
Shared handles
Object handles can now be shared across separate XLLs, so one XLL can create and publish an object, and other XLLs can consume it.
Selective publishing of add-in functions
Developers can decide which of the add-ins contained in an XLL will be made available to users. The list can be controlled at run-time or at development-time.
New event handlers for Excel 2010+
Two new COM event handlers have been added to the library, to handle the WorkbookAfterSave and AfterCalculate events, introduced in Excel 2010. These event handlers will have no effect under earlier versions of Excel.

Version 7.0

XLL+ 7.0 contains some important new features, including:

64-bit libraries

XLL+ now creates both 32-bit and 64-bit builds of XLL add-ins, so that you can now provide your add-ins to users of Excel 2010 64-bit edition.

Also, all the XLL+ redistributable run-time servers are provided in both 32-bit and 64-bit formats.

Queued asynchonous functions

XLL+ now supports the new Excel 2010 asynchronous execution feature. This can greatly improve the efficiency of thread-safe functions that contend for a shared resource (such as a database or a data feed).

Ribbon support

XLL+ 7 provides full support for the Office Ribbon, managing all the COM interface issues, and routing the ribbon messages and events to a C++ event-handler function in your code.

Version 6.3

Version 6.3 of XLL+ contained many major changes, see What's New in 6.3 for details.

Upward compatibility

For instructions on how to use the XLL+ Upgrade Wizard to port existing projects to XLL+ 7, please see the topic Upgrading from a previous version of XLL+.

Change history

Refer to the Change history for a full list of changes made over all XLL+ versions.