![]() |
How are excel function names in dlls/xlas resolved ?
Hi,
I am looking to know how custom function names are resolved in Excel.I have an XLA with a number of functions in it and have used it to build a large spreadsheet. Once the functions were settled I built an add-in DLL in delphi to replace the XLA for easier deployment. The new DLL works fine when building new workbooks but existing ones which were designed with the XLA dont work even though the function names in the new dll are identical. I guessed that excel was storing the path to the xla in the sheet somewhere but even if i edit the cells or call the DLL's functions from new cells they fail with #NAME as if they are still trying to find the function name in the old XLA... This has been very frustrating so any help would save a few grey hairs... Thanks Aidan |
How are excel function names in dlls/xlas resolved ?
Hi Chip,
Originally it was a DLL/XLA pair as you suggested however I am looking to replace this with a COM add-in which exports the same function names. The problem is workbooks built with the old XLA/DLL pair dont recognise the new Add-In's functions even though they have the same names. A brand new workbook will recognise the functions without any problem. Even if I try one of my functions in a new blank cell, it wont resolve it, it appears to be still looking for the old XLA file. Is excel keeping a workbook wide list of functions used and their locations ? I'm trying to avoid having to redesign all our customers sheets when I ship the new DLL... Aidan "Chip Pearson" wrote: You can't call functions in the DLL directly from worksheet cells, unless the DLL was written as an XLL or COM Add-In. Instead, you need "dummy" XLA functions that get called from the cell and then in turn call the function in the DLL. -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "Aidan Lawless" <Aidan wrote in message ... Hi, I am looking to know how custom function names are resolved in Excel.I have an XLA with a number of functions in it and have used it to build a large spreadsheet. Once the functions were settled I built an add-in DLL in delphi to replace the XLA for easier deployment. The new DLL works fine when building new workbooks but existing ones which were designed with the XLA dont work even though the function names in the new dll are identical. I guessed that excel was storing the path to the xla in the sheet somewhere but even if i edit the cells or call the DLL's functions from new cells they fail with #NAME as if they are still trying to find the function name in the old XLA... This has been very frustrating so any help would save a few grey hairs... Thanks Aidan |
All times are GMT +1. The time now is 11:57 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com