Fully integrated UDF support for Excel with VSTO RRS feed

  • Question

  • Ok, I know this topic has been covered extensively but some of the info is dated and a full solution has not been provided by the Microsoft Office API development team.

    My question:  Can Microsoft please come up with a fully integrated solution where we can easily create UDF's from within a VSTO project?  Are the any plans for this and why not?

    If Microsoft could even provide some thourough documentation on how to acheive this using current tech that would be helpful as info is scattererd and in some cases incorrect or incomplete.

    Current solutions developed by the community rely on integrating a mismatch of technologies which creates incredible confusion and limitations.


    -Cross process/platform cummunication required to pass data between VSTO and UDF implementations.

    -Reliance on COM interfaces

    -Deployment considerations (office security, trusted assemblies, plugin registration, ect.)

    -vba script implementation method triggers security warnings in Excel and complicates deployment.

    -No support for .NET (without usning COM)

    -xlfRegister (XLL API) documentation is poor.

    -Difference between XLL and COM dll?

    -Shared memory between VSTO and UDF using shared com visible assembly.

    I'm very close to getting a professional looking solution with deployment up and running thanks to support of the dev community however due to the lack of support from Microsoft this has not been a simple task. 

    I hope Microsoft can recognize and address this huge functionality gap in their Office API solutions.

    Friday, January 25, 2013 6:10 PM

All replies

  • Hi eKevin,

    Thank for posting in the MSDN Forum.

    I'll consult your issue with my colleague and will reply to you if there's any update.

    Thank you for your patience and understanding.

    Best regards,

    Quist Zhang [MSFT]
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Monday, January 28, 2013 9:29 AM
  • Hello eKevin,

    I understand your concern.

    I will pass your feedback to the concerned team.

    If you have any specific question, please let me know.


    Sreerenj G Nair

    Thursday, January 31, 2013 1:15 AM
  • Hi, thank you for your reply.  I do have a specific question for you.  Sorry about the long message but I need to explain the scenario first...

    I have the following working.

    1.  VSTO plugin to handle office ribbon customization and non-UDF functionality.

    2.  .NET assembly registered as COM visible and installed as plugin in Office.  (Assembly exposes com interface for my UDF's)

    This currently works fine however I want to improve the deployment and also get the full integration to excel function wizard and help.  (Provide descriptions and better function names for UDF and parameters within the Insert Function wizard).

    My understanding is that I may be able to achieve this using the xlfRegister function described in your XLL API documentation to register my COM visible UDF assembly.

    Question:  Is it possible to call this function from a VSTO plugin assembly to register my UDF assembly? 

    Can you please provide an example as I am having trouble following the documentation since it only covers doing this from a XLL project type. What dll do I reference in my VSTO project to get access to xlfRegister?

    Tuesday, February 19, 2013 6:50 PM
  • Hello eKevin,

    It is not possible to call the xlfRegister method from VSTO assembly as xlfRegister is only available via a C++ class.

    One thing you can try is to expose the xlfRegister via a C++ DLL and try to use platform invoke or COM Interop to access the function in VSTO. However, I am not sure if this will work or not as I didn't try this.


    Sreerenj G Nair

    Wednesday, February 20, 2013 2:19 AM