Introduced in Excel 95
This is Microsoft's managed version of C++.
Has a NuGet Package
This creates a class library
< DnaLibrary Name="MyXLL"
< ExternalLibrary Path="MyXLL.dll"
LoadFromBytes = false
Pack = "true" <
Need to add a registry key
HKCU\Software\Microsoft\Office\12.0\Excel\Options\ OPEN1 - /R "MyXLL.dll"
If the add-in is not in the default add-ins folder then the full path must be provided
Search for OPEN[n] key
Use a custom action to loop through the keys
Does it need to be shimmed ?
public class MyAddin : ExcelDna.Integration.IExcelAddIn
public void AutoOpen()
public void AutoClose()
XLW wraps the C API described in Microsoft Excel 97 Developer's Kit in a few classes that make API programming with Excel much, much easier
This powerful yet simple (a few lines of code as demonstrated in the Getting Started section) interface empowers your C or C++ numerics by embedding them in Excel just like the built in functions, allowing you to exploit Excel features such as graphs, solvers, and integration with the rest of the Microsoft Office suite.
The XLW project is hosted on SourceForge at http://xlw.sourceforge.net/. XLW is a mature and stable package which has been tested and used over many years in a wide variety of configurations. The library is not perfect but has certainly established its usefulness.
If you have any comments, you can email email@example.com. Suggestions, improvements and criticisms of the software and documentation are always welcome.
XLW - documentation - http://xlw.sourceforge.net/refman/annotated.html
Loading add the following to the Workbook.Open event
bflag = Application.RegisterXLL<"path">
if (bflag = False) Then
'if its already loaded bflag = true
An XLL is only loaded once per session
This loads the dll and returns True if successfully loaded
Dim breturn as Boolean
breturn = Application.RegisterXLL "mylibrary.xll"