jens

 
Private Archive
LegalContact

archive | ado.net | dotnum | .net | xll | excel
xll

libXLL


Contents in the archive are no longer maintained or supported!

libXLL - Excel Add-In SDK

The idea with this "yet-another-excel-helper" is to use IDL to supply worksheet functions in Microsoft Excel.

You can implement your code in COM/C++ (which uses IDL to define the necessary interfaces) and provide some functionality as worksheet functions, also defined in IDL.

The final COM and add-in functionality is packaged into a single .DLL file, and the "libXLL-exported-functions" are also accessible by VBA or any other application that understands typelibs (eg. Access).

More information on

The current release is based on XLW which is hosted at SourceForge.

Features

  • Define Excel worksheet functions in IDL. The generated "typelib" is parsed and all suitable functions are exported and available on the worksheet.

  • Share the same functions with any TypeLib compatible application (Excel VBA, Access, Visual Basic, even Word and more)

  • Full support for argument specific help strings and default values both in the Excel Function Wizard and the Visual Basic IDE.

  • Supports multiple categories and additional help file integration for the Excel Function Wizard

  • Provides fast native Excel Add-In functionality and a smoothly integrated VBA library (with intellisense features like auto-completion) from one single .DLL file

  • You do not need to learn about all the obsolete REGISTER stuff that Excel Add-Ins usually need

  • Ideally suited for people already working with COM. You can easily extend your current project.

  • Available with source code and dual MPL/GPL licensing

Changes

2002-07-09:

2nd public release. libXLL now incorporates the XLW library and offers a dual licensing scheme (MPL/GPL). There is also a re-written example project and a step-by-step guide to setup a new project. See Documentation for details.

2002-06-04:

libXLL released to the public (MPL license). There have been no changes to the original version released on March 17th.

2002-03-17:

First semi-public release of libXLL.

Documentation and Examples

The basic manual for building add-ins is the Excel 97 SDK. Although it is written for Excel 97, it is still valid, including documented bugs.

For libXLL documentation download and unzip the current release. You can find an example project as well as a step-by-step guide to libXLL there. The examples are very well commented, so that you can use them as templates for your own setup.

Here is an example to show the basic idea. Your IDL (interface definition language) file contains the following entry:

IDL[ entry("xllCirc"), helpstring("Circumference of a circle") ] double XLL_EXPORT xllCirc( [ in, custom(XLL_ARG_HELP, "Diameter of the circle") ] double diameter );

You only need to implement xllCirc in your source:

C++double XLL_EXPORT xllCirc(double diameter) { return diameter * 3.14159; }

Besides some additional boilerplate code, your Add-In is ready to use.

License

libXLL uses a dual MPL/GPL license. That is you can either use the Mozilla Public License (MPL) or the Gnu Public License (GPL) to integrate libXLL in your own or derivative work.

See the LICENSE.TXT file included with every release of libXLL for details:

The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/

Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.

Alternatively, the contents of this file may be used under the terms of the GNU Public License license (the "GPL License"), in which case the provisions of the GPL License are applicable instead of those above. You may obtain a copy of the GPL License at http://www.gnu.org/licenses/gpl.html#SEC1


lorem ipsum

Copyright © 1994-2004 J. Thiel