XlLLs

Introduced in Excel 95


http://blogs.msdn.com/b/andreww/archive/2008/08/27/com-shim-wizard-2-3-1-0.aspx
http://blogs.msdn.com/b/mshneer/archive/2010/03/19/com-shim-wizards-for-vs-2010.aspx
https://msdn.microsoft.com/en-us/library/aa730920(v=office.12).aspx
https://msdn.microsoft.com/en-us/library/aa537166(office.11).aspx
http://blogs.msdn.com/b/andreww/archive/2007/12/09/building-an-excel-xll-in-c-c-with-vs-2008.aspx


Managed XLLs


C++ /CLI

This is Microsoft's managed version of C++.



Excel DNA

http://exceldna.codeplex.com/
http://excel-dna.net/
Has a NuGet Package
This creates a class library


< DnaLibrary Name="MyXLL" 
      RuntimeVersion="v4.0"
      Language="C#" <
< 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 ?
ExcelDna.Integration.xlCall


public class MyAddin : ExcelDna.Integration.IExcelAddIn 
{
   public void AutoOpen()
   {
   }
   public void AutoClose()
   {
   }
}





XLW

http://xlw.sourceforge.net/


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 xlw-users@lists.sourceforge.net. Suggestions, improvements and criticisms of the software and documentation are always welcome.

XLW - documentation - http://xlw.sourceforge.net/refman/annotated.html

http://excel4net.com
http://www.erik-n.net/software/easyxll/
http://www.quantnet.com/forum/threads/how-to-create-udf-in-excel-using-c-and-visual-studio-2008.1260/

Loading add the following to the Workbook.Open event

bflag = Application.RegisterXLL<"path">
if (bflag = False) Then
msgbox("error loading")
End If

'if its already loaded bflag = true

An XLL is only loaded once per session

xlfRegister ???
Application.RegisteredFunctions


http://www.planatechsolutions.com/xllplus6-online/dotnet_requirements.htm



Excel4Net



ManagedXLL

managedxll.com
http://www.stochastix.com/solutions/excel/managedxll/latest/features



XLLPlus

planettechsolutions.com
http://www.as-ltd.co.uk/xllplus/default.htm



JetXLL
ExHale
RapidXLL



VBA
This loads the dll and returns True if successfully loaded

Dim breturn as Boolean 
breturn = Application.RegisterXLL "mylibrary.xll"



© 2017 Better Solutions Limited. All Rights Reserved. © 2017 Better Solutions Limited

PrevNext