Introducing first alpha of XL Toolbox NG

The very first alpha version of the Next Generation XL Toolbox add-in is available for download. It can’t do much for users besides checking for updates, but it represents the foundation of the Toolbox rewrite. Now I can start adding features.

NOTE: I have removed the installer file for alpha 1 because this version was released under the GPL v. 3 license, which is incompatible with the distribution of closed-source runtime files by Microsoft, making it impossible for anyone who downloaded it to comply with the license.

A long time in the making, ‘alpha.1’ is the first in a series of developmental versions of XL Toolbox NG that I release to the public. Curious users can download and test it. However, at this stage, XL Toolbox NG won’t do much for you: A lot of work was done under the hood, but at the surface, it can’t do much more than checking for updates and displaying version information.

The simple ribbon of Alpha 1.
The simple ribbon of Alpha 1.

Here’s an overview of what is new in the Next Generation.

New technological basis

While the old XL Toolbox was written in Excel’s built-in Visual Basic for Applications, the Next Generation is built for the .NET framework and Visual Studio Tools for Applications (VSTO). This brings about numerous advantages for me as a developer. I no longer have to re-invent the wheel for all sorts of programming tasks, allowing me to focus more on actual XL Toolbox programming. The source code resides in simple text files instead of an .XLA or .XLAM file, from where I would have to export it every time I changed something, in order to submit it to a source code management (SCM) system.

Using .NET technology, I also no longer have to maintain different versions of the add-in for different versions of Excel (though see new technical requirements below), and do not have to take care of 32-bit and 64-bit variants. The only exception to this is the FreeImage DLL, which I compile myself for x86 and x64 systems (see this article) and use a revised loading mechanism that should prevent those nagging “FreeImage DLL not found” errors that some users encountered.

New technical requirements

XL Toolbox NG requires Excel 2007 or later. Excel 2003 is no longer supported. This ancient version of Excel has been retired by Microsoft earlier this year anyway. I know that many people still use it, but to maintain an XL Toolbox version for Excel 2003 would produce just too much overhead. Users who want or have to keep on using Excel 2003 can still use the old XL Toolbox versions.

The add-in will however run on Windows XP, even though support for this operating system has ended together with Excel 2003.

What is needed on any system that the XL Toolbox NG is installed on is the ’Visual Studio Tools for Office Runtime’ (VSTOR). It is automatically installed with newer Office versions (2010 and later). Office 2007 does not automatically install it, but the new XL Toolbox NG installer will detect this situation and offer to download the package from Microsoft (it’s about 40 MB though).

New installer

The XL Toolbox NG installer continues to be built with the fabulous InnoSetup. Compared with the old installer, it can now register the add-in for all users on a system, provided that you run it with administrative rights.

The installer will automatically detect if required runtime files are missing, and offer to download them from Microsoft servers and install them. (As a bonus, it will also detect if the runtime files have been downloaded already, but not installed yet, and refrain from downloading them again.)

Coexistence of old and new generation

The old (6.53) and the new generation (7.0.0-alpha.1 as of today) of the XL Toolbox can coexist on a given system. The commands of the new version are to be found on an “XL Toolbox NG” ribbon tab, while the old version uses an “XL Toolbox” label.

Testing

You are very welcome to try out the alpha versions, but keep in mind that these are developmental versions. The current alpha 1 has almost no functionality that is visible to users, except checking for updates and displaying version information. A rewritten error catching mechanism is also in place already, but at this point there really should be no runtime errors.

If you elect to install alpha 1, you can just have it sit there and automatically check for updates periodically.

I would be very grateful if you could give some feedback on these developmental versions, for example on the public forum or by e-mail.

Use this software at your own risk. See the GNU General Public License v3 for more details.

Download

https://sf.net/projects/xltoolbox/files/alpha

What’s next

I’m now planning to implement the graphic export function as this seems to be the most popular feature in the old XL Toolbox.

Keep in mind that I am doing all of this work in my little spare time, so I can’t give any estimation on when the next alpha version will be ready.


Shaping a new XL Toolbox

Articles in this series:

  1. Shaping a new XL Toolbox
  2. Selecting the right tool for the Toolbox
  3. Introducing first alpha of XL Toolbox NG
  4. Alpha 2 and 3 with graphic export and Apache license