Hi,

I am using Excel 2007 and I wrote an Add in using Visual Studio 2008 in C++. Everything works fine. My add in has a custom Ribbon UI with several buttons that are displayed and work fine.
However, I have to sometimes disable a few of these buttons (according to the user priviliges) and for that I'm using a callback functions defined in my XML as getEnabled="MyFunction_getEnabled".
That also works perfectly fine, with one exception: All those functions that are called by getEnabled or getLabel or getImage callbacks apperar in the Excel Insert Function wizard that you call by pressing on fx button on the excel formula bar. Along with my UDFs there are those callback that I don't want a user to see. How do I get rid of them?
In my IDL file I have all these function defined together with my UDFs, otherwise callback are not getting called.

Basically to create this add in I followed the example on the Jensen Harris blog:
http://blogs.msdn.com/b/jensenh/arch...c-and-atl.aspx

Did anyone have the same problem?

It seems that if a function has the following signature:

[id(44), helpstring("method AboutMyAddInBtn_getEnabled")] HRESULT AboutMyAddInBtn_getEnabled([in] IDispatch* RibbonControl, [out,retval] VARIANT_BOOL* returnValue);

it will always appear in the insert function wizard. What is important is that it has [out,retval] for the last parameter. But this signature is imposed by Microsoft for all of the callbacks like this and you can't change it.

Making the function [hidden] or [nonbrowsable] or both didn't help. It is still visible.