XLL Function Naming Issue

Add-in Express™ Support Service
That's what is more important than anything else

XLL Function Naming Issue
 
jollyroger




Posts: 2
Joined: 2014-01-09
I have just started work on my first XLL and have run into an issue with XLL function naming.

I have downloaded the MyXLLAddin1 C# example solution and that builds successfully in VS2012, registers and runs fine in Excel 2010.

I then added my own function called EAN8 (the name of the barcode that the function will encode data for) and this produced an error on loading Excel.

Exception Source: AddinExpress.MSO.2005
Exception Type: System.ApplicationException
Exception Message: 'xlfRegister' failed. Function name: EAN8
Exception Target Site: RegisterXlMethod

I initially thought I had an issue with my code but after various tests it seems to be related to the actual function name. My tests have produced the following results.

RR // WORKS
RRR // WORKS
RRR1 // FAILS
RRRR1 // WORKS
RRR12 // FAILS

The above names are using a simple test function as below.


public static string RRR1(object arg)           // FAILS
{
    return "test";
}


I canít find a description anywhere specifying what is allowed and what isnít. The problem only seems to happen when a number is at the end of the function name but only when it is in combination with a small number of characters in the function name.

Can you clarify why this is happening and what combination of letters and numbers are allowed. I was hoping to use EAN8 and EAN13 for barcode functions names but these will both fail.

Regards
Roger
Posted 09 Jan, 2014 04:06:44 Top
Sergey Grischenko


Add-in Express team


Posts: 7187
Joined: 2004-07-05
Hi Roger,

If you use digits at the end of function names, the number of characters should be more or equal 4. I didnít find any description of this issue. But I tested the C++ example from the XLL SDK and it produced the same issue.
Posted 09 Jan, 2014 04:36:48 Top
jollyroger




Posts: 2
Joined: 2014-01-09
Hi Sergey

Thank you for the quick response. Now that I know it is an Excel limitation I can come up with suitable function names.

Thanks
Roger
Posted 09 Jan, 2014 04:49:43 Top
Andrei Smolin


Add-in Express team


Posts: 14138
Joined: 2006-05-11
Hello Roger,

Yes, the issue is an Excel restriction: a cell name cannot be used as a function name. That is, you get the problem because "EAN8" is a valid cell name.

Regards from Belarus (GMT+3),

Andrei Smolin
Add-in Express Team Leader
Posted 09 Jan, 2014 05:30:20 Top