XLL+ Class Library (7.0)

XLL+ User Guide

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.