The XLL+ sample projects are listed below, by category.
Each can found in a sub-directory of the Samples
directory.
Basic examples
-
SimpOpt
- A typical calculator add-in, which values vanilla options
-
AvgOpt
- An option value calculator add-in, which demonstrates the use of a results cache to speed up performance
-
LabelledArgs
- A typical calculator add-in, using labelled arguments
Tutorials
-
Tutorial1
- Contains most of the code from the User Guide
-
MfcTutorial
- Contains the code for the MFC sample in the User Guide
-
AvgOptAsync2
- An option value calculator add-in, which runs lengthy calculations in a background thread (New in XLL+ 6.0)
-
SafeCode
- Demonstrates the use of a Structured Exception Handler to trap fatal run-time exceptions (Changed for XLL+ 6.0)
Menus & Toolbars
-
Simple Menus
- Uses the CXlMenu class to add a menu to Excel's application menu bar
-
Advanced Menus
- Adds a menu and dynamic sub-menus to Excel's application menu bar
-
Simple Toolbar
- Uses the CXlToolbar class to add a toolbar to Excel's application window
-
Simple Toolbar using resources
- Uses the CXlToolbar class to add a toolbar to Excel's application window
-
Dynamic Toolbar
- Uses the CXlToolbar class to add a dynamic toolbar to Excel's application window
Object handles
-
RtdHandleDemo
- Demonstrates the use of RTD handles to represent objects in Excel (New in XLL+ 6.2)
-
PersistentHandleDemo
- Demonstrates the use of persistent RTD handles to represent objects in Excel (New in XLL+ 6.2)
-
MonteCarlo
- Combines the use of object handles, a results cache and asynchronous functions (Changed for XLL+ 6.2)
-
MonteCarlo2
- Combines the use of object handles, and asynchronous functions, and also provides a persistent object cache (New in XLL+ 6.2)
-
NumericHandleDemo
- Demonstrates the use of numeric handles to represent objects in Excel (New in XLL+ 6.0)
-
StringHandleDemo
- Demonstrates the use of string handles to represent objects in Excel (New in XLL+ 6.0)
-
StringPtrHandleDemo
- Demonstrates the use of string pointer handles to represent objects in Excel (New in XLL+ 6.0)
-
BoostHandles
- Demonstrates the use of RTD handles to represent objects in Excel, where the objects are wrapped by boost::shared_ptr smart pointers (New in XLL+ 6.2)
Interacting with Excel
-
CallExcel
- Demonstrates how to call Excel worksheet and macro functions from an add-in function
-
FindReplace
- Uses the CXllFinder class to find and replace the contents of cells
-
ColorCell
- Contains macro functions which set the colors of a cell
-
CreateBook
- Demonstrates how to use CXlMacros methods to create and populate workbooks
-
SetFormula
- Demonstrates how to set formulae
-
ExUIPopup
- Demonstrates a popup editor within the Excel Formula Wizard (New in XLL+ 6.2)
-
ExUIPopupMFC
- Demonstrates a popup editor within the Excel Formula Wizard (using MFC) (New in XLL+ 6.2)
-
ExUIPopupCLR
- Demonstrates a popup editor within the Excel Formula Wizard (using .NET WinForms) (New in XLL+ 6.2)
Asynchronous functions
-
AvgOptAsync2
- An option value calculator add-in, which runs lengthy calculations in a background thread (New in XLL+ 6.0)
-
MonteCarlo
- Combines the use of object handles, a results cache and asynchronous functions (Changed for XLL+ 6.2)
-
MonteCarlo2
- Combines the use of object handles, and asynchronous functions, and also provides a persistent object cache (New in XLL+ 6.2)
Common Language Runtime and .NET
-
ClrDemo
- Calls .NET methods from add-in functions
-
AssemblyDemo
- Calls methods in a C# .NET assembly
-
PiaDemo
- Uses the Excel object model, via the Primary Interop Assemblies
Matrix adapter
-
BoostMatrix
- Demonstrates how to write a matrix adapter class, to integrate a matrix class into XLL+
Wrapper libraries
-
ApiTest
- Demonstrates how to create a wrapper library which lets you call XLL Add-in functions directly from a C#, C++ or VBA application. (New in XLL+ 6.3)
Dialogs
-
Dialogs
- Uses the CXlDialog class to display native Excel dialogs
-
Integration
- Demonstrates how to create a meta-function from the relationship between two cells and use standard numerical methods to integrate the function
International support and localization
-
International
- Demonstrates how to get and use Excel's international settings
-
Localized (Single DLL)
- Demonstrates how to support multiple languages in a single XLL (Changed for XLL+ 6.0)
-
Localized (Multiple DLLs)
- Demonstrates how to support multiple languages using one DLL per language (Changed for XLL+ 6.0)
-
Dynamic localized (Single DLL)
- Demonstrates how to support multiple languages in a single XLL, switching between languages dynamically (New in XLL+ 6.0)
-
Dynamic localized (Multiple DLLs)
- Demonstrates how to support multiple languages using one DLL per language, switching between languages dynamically (New in XLL+ 6.0)
Advanced examples
-
BoostMatrix
- Demonstrates how to write a matrix adapter class, to integrate a matrix class into XLL+
-
CallExcel
- Demonstrates how to call Excel worksheet and macro functions from an add-in function
-
UseTimer
- Demonstrates how to use a timer to execute a macro function at regular intervals
-
PartialReg
- Demonstrates how to control at run-time which add-in functions are registered and which are not
-
CreateBook
- Demonstrates how to use CXlMacros methods to create and populate workbooks
-
BinaryData
- Demonstrates the use of BinaryName ranges to store binary data in an invisible named range in a worksheet
-
CalcEvt
- Demonstrates how to trap the OnCalculate event, and add your own data to a worksheet
-
SetFormula
- Demonstrates how to set formulae
-
FInspect
- Demonstrates how to inspect and display information about functions in an add-in (Changed for XLL+ 6.0)
-
Dialogs
- Uses the CXlDialog class to display native Excel dialogs
-
Serialize
- Demonstrates how to serialize Excel native data types to and from streams
-
Integration
- Demonstrates how to create a meta-function from the relationship between two cells and use standard numerical methods to integrate the function
-
TFold
- Demonstrates the use of the CXlOper class, in a useful worksheet function that constructs and manipulates arrays
-
Profiling
- Demonstrates a function extension, which profiles the performance of add-in functions
-
LogDemo
- An add-in that writes to a log
-
ExUIDynList
- Changes the contents of a value list at run-time (New in XLL+ 6.2)
-
DemoFeed
- 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. (New in XLL+ 6.3)
-
ApiTest
- Demonstrates how to create a wrapper library which lets you call XLL Add-in functions directly from a C#, C++ or VBA application. (New in XLL+ 6.3)
Archived examples
-
AvgOptAsync
- An option value calculator add-in, which runs lengthy calculations in a background thread
-
ComEvents
- Shows how to set up event handlers for COM events
-
HandleAPI
- Contains the code for the HandleAPI sample in the User Guide
-
HandleAPICached
- Contains the code for the HandleAPICached sample in the User Guide
-
KeyedHandle
- Shows how to use an object cache with meaningful string keys
See Also
Samples and walkthroughs