![]() |
Migrating from XLL to XLA
Hi everyone,
I want to substitute user defined functions (UDF) provided through a XLL by a combination of an Excel Add-In and a COM-component. Unfortunately, opening a XLS that was created using the old XLL causes problems when the UDFs are provided by the add-in. In fact, it looks like the Excel is not able to automatically use the new functions, although the functions are available. If the worksheet is opened #NAME is displayed in the cells using the respective functions and pressing F9 does not resolve the problem. However, entering one of the respective cells and pressing enter resolves the problem. Using the XLL the functions where registered in a certain category (as displayed in the function wizard). By now I am pursuing the following approach: a) the functionality is placed in some COM-component b) there is a XLA which provides wrapper functions for the methods of the COM-Object (as suggested in http://support.microsoft.com/default...;en-us;Q256624) c) I am using the REGISTER macro in combination with a self-made DLL to register the functions in a certain category (see http://www.jkp-ads.com/Articles/RegisterUDF00.htm) I have been using Laurent Longre's FUNCUSTOMIZE.DLL and it has been working well, but since I returned to using VBA code to register the functions Excel won't use my XLA-functions as the new UDFs. Anyone having experience with migrating from XLLs to XLAs? Thanks in advance, Peter |
Migrating from XLL to XLA
Hi Peter,
For your old workbooks with xll-udf's it might be worth doing a find & replace = with '= and remove all formulas (alternatively replace myUDF with "zzzzmyUDF"). Save & close the wb. Reopen, with calc - manual, reverse the find & replace. Macro recorded code to do that easily adapted to process all sheets. If all your users have xl2002 or later these versions support "Automation Add-ins", can call Public functions directly from cell formulas. For xl2000 would need an xla wrapper as described in the link you referred to. To cater for all versions including xl97 use an ordinary ActiveX dll and xla wrapper. I saw the REGISTER method when it was first published, I had fatal problems with it though I understand following an off-line discussion it has been fixed. Curiosity, for purely calculation stuff XLL's are faster, why are you changing. Regards, Peter T "Peter" wrote in message ... Hi everyone, I want to substitute user defined functions (UDF) provided through a XLL by a combination of an Excel Add-In and a COM-component. Unfortunately, opening a XLS that was created using the old XLL causes problems when the UDFs are provided by the add-in. In fact, it looks like the Excel is not able to automatically use the new functions, although the functions are available. If the worksheet is opened #NAME is displayed in the cells using the respective functions and pressing F9 does not resolve the problem. However, entering one of the respective cells and pressing enter resolves the problem. Using the XLL the functions where registered in a certain category (as displayed in the function wizard). By now I am pursuing the following approach: a) the functionality is placed in some COM-component b) there is a XLA which provides wrapper functions for the methods of the COM-Object (as suggested in http://support.microsoft.com/default...;en-us;Q256624) c) I am using the REGISTER macro in combination with a self-made DLL to register the functions in a certain category (see http://www.jkp-ads.com/Articles/RegisterUDF00.htm) I have been using Laurent Longre's FUNCUSTOMIZE.DLL and it has been working well, but since I returned to using VBA code to register the functions Excel won't use my XLA-functions as the new UDFs. Anyone having experience with migrating from XLLs to XLAs? Thanks in advance, Peter |
All times are GMT +1. The time now is 12:31 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com