What's New in XLL Plus for Visual Studio 2010 and 2012

What's New in XLL Plus Version 7.0.6

  • 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.


What's New in XLL Plus 7
XLL+ 7 contains some exciting new features and enhancements, including:

  • 64-bit Support - 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.
  • Office Ribbon - 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.
  • 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).

Whats new in XLL+ V6.3
XLL+ 6.3 contains some exciting new features, including:

Hidden regions
Almost all of the generated code is now surrounded by #pragma region blocks. This means that almost all of the implementation code for each add-in can be hidden, and you need only see the code that is interesting - the function signature and your own code.

XLL Wrapper Libraries
Sometimes it is useful to be able to call your Excel add-in functions from other environments, such as command-line programs or interactive applications, written in C++, Java, C# or Visual Basic. The Xll Wrapper toolkit contains tools, a runtime library, samples and documentation to help with the development of COM modules and .NET assemblies that wrap Excel XLL add-ins. The add-in functions in the library are available as COM and .NET methods to client programs that use the wrapper modules. The wrapper objects can be used by clients written in any development environment that supports COM or .NET, including C++, Java, C#, Visual Basic and VBA.

Asynchronous functions
Planatech considerably improved the performance and scalability of the asynchronous function model. You can now place thousands of asynchronous functions in a spreadsheet without degrading performance. They have also added a new sample application which demonstrates how to integrate a data feed into an Excel add-in for high-performance real-time data add-in, written in C++, and which supports array real-time values as well as scalar values.

Portuguese language support
Help files can now be generated in any of three languages: English, French and now Portuguese.

Value Lists
The Value List Editor is now easier to use. You can copy and paste data to and from the dialog, so it's easy to edit lists in source code or in Excel, and paste them into the Value List Editor.

Whats new in XLL+ V6.2.4

  • Support added for Windows 7 (32-bit and 64-bit)
  • Support added for Windows Vista 64-bit

What’s new in XLL+ V6.0

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

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.

Extensibility - 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,  Planatech 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.

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.

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.

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.

Favorites - 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.

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".

New features in V5.0:

  • Support for Visual Studio 2005
  • Run functions in a background thread and update Excel using RTD
  • XLL Host module allows you to run your XLL within COM or .NET applications, on machines without Excel

New features in V4.3.1:

  • International and localization support
  • COM wrapper generator, so that XLLs can be used by free-standing VB and C# applications
  • Toolbar class
  • New samples

What's New in V4.2

  • Visual Studio .NET support (.NET and Universal Editions) - wizards, help and class libraries are fully integrated into Microsoft Visual Studio.NET, as well as Visual Studio 6
  • New user interface classes - the XLL+ class library now supports user-defined menus and native Excel dialogs
  • Optional arguments - you can now use the wizard to specify arguments as optional, and provide default values for missing arguments
  • Help Generator - the new help module will generate an HLP help project and the code to connect it to your XLL, so that users of your XLLs can access on-line help in Excel
  • Better STL integration - the class library now contains faster and more powerful methods for reading and writing data of any type to and from STL collection classes
  • Event handling - it is now very simple to register functions to be called for any Excel application event, such as opening and closing workbooks, recalculating worksheets and so on
  • New walkthroughs - a selection of walkthroughs to take you through various features of XLL+ has been added
  • More examples - dozens of new examples, from fragments of code to complete projects, have been provided