none
Call 3rd party COM Add-In commands RRS feed

  • Question

  • Hi,

    my question is not that easy to formulate in few words, therefore i will describe my problem a little bit more detailed.

    I have installed an 3rd party COM Add-In (PKWARE SecureZIP) which provides an additional Ribbon Tab with different buttons. (Image 1)

    With the "Customize Ribbon" feature of MS Office, i can create a new custom tab and use the "Save Copy as Secure ZIP File" command within this new tab (Image 2). Furthermore, the tooltip text of the command shows (Macro: OnAction) What does this mean?. For MS Office build in commands, the tooltip text shows the proper MSO-ID, which i can use in my C# VSTO Add-In projects to execute the commands: (e.g. Built-in "File Save As" dialog)

    Globals.ThisAddIn.Application.CommandBars.ExecuteMso("FileSaveAs");

    As we all know, MS Office saves the "Custom Ribbon" tabs (e.g. MS Word) in the "%localappdata%\Local\Microsoft\Office\Word.officeUI" file. If you have a look at this file after creating a new tab and assign the 3rd party COM Add-in command to a custom ribbon button, you can see, that the mso:control is named "x1:SaveAsSecureZipT". (Image 3)

    So i tried the following in my VSTO project, but with no success:

    Globals.ThisAddIn.Application.CommandBars.ExecuteMso("SaveAsSecureZipT");
    
    Globals.ThisAddIn.Application.CommandBars.ExecuteMso("PKSS.Connect.SaveAsSecureZipT");

    I am quite sure, that there is a way to call the 3rd party commands in VSTO, because MS Word is doing the same with the "Custom Ribbon" feature. I hope someone of you can assist me on this.

    Many wishes and thank you in advance,

    Martin

    Images: http://social.msdn.microsoft.com/Forums/getfile/538786



    Tuesday, September 30, 2014 8:49 AM

All replies

  • Hello Martin,

    The ExecuteMso method can use for running the built-in controls, not custom ones. The Office extensibility model doesn't provide any method for this.

    Instead, you need to contact the add-in developers and ask for a public methods that you may call. See Calling Code in Application-Level Add-ins from Other Office Solutions for more information.

    Tuesday, September 30, 2014 11:55 AM
  • Hi Eugene,

    thank you for your answer. Too bad, thought this could be possible because the Word.OfficeUI seems to do it in a similar way.

    I already contacted the add-in vendor. They said nothing about public methods to call, instead the refered to another product (an developer SDK) to refer to.

    Is there a way to figure out public methods on my own if a have a look at the DLL?

    Tuesday, September 30, 2014 12:05 PM
  • If it is a managed add-in you can use any .net tool which uses the reflection machanisms to observer the source code. The most easiest utility which is included in .Net SDK is ildasm.exe. Also you may take a look at Reflector or JustDecompile (Telerik).
    Tuesday, September 30, 2014 1:45 PM