Welcome to the XLL+ User Guide.
This is a guide to building Excel add-ins with the XLL+ toolkit. Through the use of tutorial examples, it shows each of the steps for creating an Excel add-in library.
| Quick start | |||
| Quick start | A very short introduction to using XLL+ | ||
| Getting started | |||
| Creating a project | How to create a new MS Developer Studio project for an Excel add-in library | ||
| Writing an add-in function | How to use the XLL+ Function Wizard to create an Excel add-in function | ||
| Testing your add-in function | How to run and debug your add-in function in Excel | ||
| Handling errors | How to return a different data type from a function, depending on whether the function succeeded or failed. | ||
| Basic features | |||
| Vector arguments | How to read one-dimensional arguments | ||
| Modifying an add-in function | How to use the XLL+ Function Wizard to modify an Excel add-in function, and regenerate the code | ||
| Optional arguments | How to test for a missing argument, and use a default if it is omitted | ||
| XLL Add-ins window | How to use the XLL Add-ins window to edit your add-in functions directly from Visual Studio | ||
| Matrix arguments | How to read two-dimensional arguments | ||
| Other matrix types | How to use different containers and layouts for two-dimensional data | ||
| Array results | How to return one- and two-dimensional results to Excel | ||
| String arguments | How to handle string (text) arguments | ||
| Value lists | How to handle enumerated (enum) arguments | ||
| Returning integer values | How to return an integer value as the result of an add-in function. | ||
| Upgrading | How to use the Upgrade Wizard to upgrade a project built with a previous version of XLL+; changes required for existing code | ||
| Deployment of XLLs | What you need to do to get your add-ins working on other machines | ||
| Intermediate features | |||
| Excel Formula Wizard | How to support the Excel Formula Wizard | ||
| Extending the Excel Formula Wizard | How to add drop-down lists and popup windows to the Excel Formula Wizard | ||
| Languages other than English | How to display messages in languages other than English | ||
| Help | How to generate a help file and link it to Excel's Formula Wizard | ||
| Exception handling | How XLL+ handles exceptions, and how to change the default behavior; how to trap C Run-time exceptions; how to raise exceptions in add-in functions | ||
| Macro functions | How to write add-in functions that make changes to workbooks | ||
| Global objects and data | How to write store global data, share it between threads, and handle initialization and termination | ||
| The Ribbon | How to add new controls to Excel's Ribbon so that users can run your macro add-in functions | ||
| Menus and toolbars | How to add new menus and toolbars to Excel so that users can invoke your add-in functions | ||
| Utility classes | A range of helpful classes for dates, cell replacement and serialization | ||
| Using MFC | How to use the Microsoft Foundation Classes from within an XLL | ||
| Using .NET | How to use .NET and the Common Language Runtime from within an XLL | ||
| Importing .NET Assemblies | Automatically generate a set of add-in functions as wrappers for any or all of the methods in a .NET assembly. | ||
| Sized result arrays | How to return an array result that exactly fits the range from which it was called | ||
| Advanced features | |||
| Handling events | How to write event handlers that will automatically run code when events (such as a workbook opening or recalculating) occur in Excel | ||
| Volatile functions | How to write add-in functions that will be recalculated whenever Excel recalculates a worksheet | ||
| Extended types | How to add new scalar data types, such as dates or enumerations | ||
| Function extensions | How to add new features and generated code to your functions | ||
| Object handles | How to expose objects in spreadsheets, using "handles" | ||
| Groups | How to reduce the number of arguments to a function, by grouping arguments together | ||
| Choices | How to allow an argument to have multiple valid formats, and use only one of them. | ||
| Function filters | Publishing and suppressing add-in functions: how to filter which functions are made available to users. | ||
| Favorites | How to save frequently used arguments to your favorites list, for re-use in other functions and libraries | ||
| International support | How to support users who prefer languages other than your own | ||
| Asynchronous functions | How to do work in background threads, and have Excel update when you are ready to supply it with new data | ||
| Queued functions | How to use the new Excel 2010 "Asynchronous function" feature, which allows thread-safe functions to work more efficiently when using a shared resource, such as a data-feed or a database. | ||
| Logging | How to use the XLL+ logging framework to write diagnostic and other information to log files | ||
Note: In the tutorial steps, you are guided in building an add-in called Tutorial1. You can find all the code for this project, and all the other tutorial projects, under the Samples sub-directory of your XLL+ installation.