Hi,

Regina Henschel schrieb:

I have now used in analysis_deffuncnames.src an entry:
    StringArray ANALYSIS_DEFFUNCNAME_Imcot
    {
        ItemList =
        {
            < "_xlfnodf.IMCOT"; >;
            < "_xlfnodf.IMCOT"; >;
        };
    };
And for comparison an entry
    StringArray ANALYSIS_DEFFUNCNAME_Imcsc
    {
        ItemList =
        {
            < "IMCSC"; >;
            < "IMCSC"; >;
        };
    };


This are the results, all in setting "ODF 1.2" and always saving to xls format:

As far as I can see in the binary of the file, the function name is stored as _xlfnodf.IMCOT and IMCSC respectively. The order of that function names is: addin functions, named references, core functions.

(1) Opening and saving in Excel, then reopening in my build: All functions are recognized correctly. It makes no difference using prefix _xlfnodf. or not.

Good, I expected that :)

(2) Opening and saving in OOo2.4.3, then reopening in my build: In OOo2.4.3 the unknown core functions are marked as #MACRO?, the unknown addin functions as #ADDIN? Reopening in my build the core functions are recognized, the addin functions are not recognizes and marked as #MACRO? Here too, it makes no difference using prefix _xlfnodf. or not.

As the add-in implementation of OOo 2.4.3 does not know about these functions, the Excel filter cannot handle them (e.g. it does not get them from GetExcelName()).

(3) Opening and saving in Gnumeric, then reopening in my build: All functions with prefix _xlfnodf are not recognized, the addin functions without prefix are recognized. Reopening in my build all core functions are recognized, the addin functions without prefix are recognized, the addin functions with prefix are not recognized.

Would be interesting how Gnumeric saves the _xlfnodf functions.

I have introduced the _xlfnodf prefix for Calc-internal functions unknown to Excel to prevent name clashes with e.g. Basic macros that have the same name. Excel keeps the function names (but cannot work with them of course) and writes them out exactly as it has read them, so the import filter can convert back the name _xlfnodf.XYZ to the internal function XYZ.

I think, in this case you can remove the prefix, because we have add-in functions, and not core functions. In the XLS format, the add-in functions are written into their own "namespace" and therefore cannot be mixed up with Basic macro calls.



Regards
Daniel

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org

Reply via email to