View Single Post
  #10   Report Post  
Posted to microsoft.public.excel.programming,microsoft.public.excel.sdk
Steve Dalton[_2_] Steve Dalton[_2_] is offline
external usenet poster
 
Posts: 5
Default Replace XLA with XLL function

So if the information is stored in the workbook itself, then it might be
possible to create a program that locates the record in the workbook file
(opened as a binary file) and modifies it directly. I'm sure you have a
copy of the SDK text but perhaps, like me, have never bothered to look too
much at the BIFF section. The BIFF version in the SDK is now out of date
(since Excel 2000 I think) so you might need to find a more up-to-date
equivalent.

"Jens Thiel" wrote in message
...
Hi Steve,

I think that the workbook itself carries some information about the source
of external functions. Otherwise it wouldn't be able to show the last

known
location when moving the XLA. In this case, the XLA is not even added in

the
usual way (using the add-in manager), but "referenced" from VBE.

I haven't heard of any registry entries being involved, but I will run a
search in the background to be sure. Thank you anyway,

Jens.

--
Replace MSDN with my first name when replying to my email address!


"Steve Dalton" wrote

Hi Jens

I'm not at all sure about what I'm about to say, but it sounds like it

might
be a registry issue, i.e. Excel writing something into the registry and

then
not being able to work out what function it's supposed to be using

unless
you force it to recognise that it's registry entry is out of date by
restarting Excel with the function in the XLA missing. Have you looked

into
this as a possibility?

Regards

Steve Dalton

"Jens Thiel" wrote in message
...
Hello,

I'm looking for a way to replace some worksheet functions defined in

an
XLA
by native counterparts exported from an XLL add-in. When deleting the
functions from the XLA and adding them to the XLL, all existing

workbooks
show "#NAME?" when recalculating these functions. I have to add that

the
XLA
is not accessed as a "classic" add-in, but instead added using
Tools-References from the VBA editor.

The only way I was able to update to the new XLL function was by

renaming
"'C:\Full\Path\To\AddIn\Name.xla'!FunctionName " to "SomethingSilly",

saving,
closing, reopening and again renaming "SomethingSilly" to

"FunctionName".
Is
there an easier way? I'm asking since I need to upgrade a lot of

workbooks,
with some of them not available on the server (that is, the upgrade

should
run at the end-user).

Every help or hint appreciated!

Jens.
--
Replace MSDN with my first name when replying to my email address!