Andreas Saeger wrote:
Using a real programming language you can package your function as a
Calc function add-in, which can be seen as a special type of add-on.
well "a real programming language" is not enough. You need a language
where we have a full language binding that means it is possible to
implement UNO components in that language as well. Currently possible
with C++, Java and Python. Other languages like Basic, JavaScript,
ooRexx allow only to use the API.
And of course an Calc add-in is a specialized UNO component, a special
service provider interface. An add-on is also a special kind of UNO
component/service provider interface typical with own menus and/or
toolbars. We use the add-on term a little bit different.
You've got to implement
http://api.openoffice.org/docs/common/ref/com/sun/star/sheet/XAddIn.html
which is impossible in StarBasic. Add-in functions allow for localized
function names, function descriptions and argument descriptions to be
used in help files, the function navigator and the function wizard.
Basic functions to be used as cell functions need to be stored in the
special Basic library "Standard" in container "My Macros" or in the
document's container (may be the OOo container works as well).
"Standard" is always loaded, so the sheet can find the called Basic
function.
Contrary to method get/setDataArray() sheet functions operate on
2-dimensional arrays. Any result that needs to be returned in array
context has to be a 2D array rather than a nested list of columns within
rows. See also
http://api.openoffice.org/docs/common/ref/com/sun/star/script/ArrayWrapper.html
with example at
http://www.oooforum.org/forum/viewtopic.phtml?t=59534&highlight=arraywrapper
For me it seems to be a feature request and you should submit it a new one.
Juergen
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]