View Single Post
  #13   Report Post  
Posted to microsoft.public.excel.programming,microsoft.public.excel.sdk
Jens Thiel[_2_] Jens Thiel[_2_] is offline
external usenet poster
 
Posts: 44
Default Replace XLA with XLL function

Hi Steve,

you are right: I never bothered with the BIFF section. Spending a few
minutes, it turns out that in a parsed Formula (444ff), a ptgName tokens's
ixti field (page 456) references external workbooks and names (308-312).
However, the XLA in question has been attached using the VBE, and the SDK
says (page 262) that the VBA PROJECT storage is not documented.

I do not know about a published BIFF reference for Excel 2000 or later.

Jens.

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

"Steve Dalton" wrote in message
...
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 an

d
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!