简体   繁体   中英

how to auto load unload a custom add-in in Microsoft word using C# VSTO?

how I can programatically load and unload a VSTO add-in in Word on button click.

I have unloaded it on event click bu using below code.

foreach (Office.COMAddIn addin in Globals.ThisAddIn.Application.COMAddIns)
                            {
                                if (addin.ProgId == "DocDrafter")
                                {
                                    addin.Connect = false;
                                    return;
                                }
                            }

but on document change and document start I have to load the add-in again.

But once addin is unloaded I am unable to load it again.

You have a couple of possibilities - it depends on what, exactly, you want to do. To begin with, you should (have) read the information in the Word object model Help for the AddIns collection and the Addin object. (We're talking about Globals.ThisAddIn.Application.Addin/s for your VSTO project.)

There are basically two approaches. One is to used the Installed property of the Addin object which loads ( =true )/unloads( =false ) the add-in from the Word UI, leaving it in the list of Add-ins (the list in Word's File/Options/Add-ins tab) so that the user (or your code) can load it again as required. It sounds like this is what you need.

The other approach is to remove/add the add-in to/from that list. Use the Addin.Delete method to remove the add-in; use Addins.Add to add an add-in to the list.

If you disconnect the Add-in from within the VSTO project, as your code does, I don't think there's any way within the scope of VSTO that you're going to get it to connect, again...

Help topic in the documentation: start here: https://msdn.microsoft.com/en-us/vba/word-vba/articles/addins-add-method-word

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM