Comment faire pour charger un Complément Excel à l'aide de l'Interopérabilité

J'ai un AddIn qui je veux invoquer via Excel interop à partir d'un C#, winforms application.

Je ne peux pas obtenir le complément etc. à la charge à moins que je l'ai désinstaller et resinstall à chaque fois (c'est apparemment quelque chose à faire avec Excel ne charge pas les addins lorsque vous utilisez l'interopérabilité - btw, ne peuvent pas obtenir leur exemple en C#). Malheureusement, c'est lent et ennuyeux de l'utilisateur, donc j'ai besoin de le simplifier.

Je veux avoir une instance de microsoft Excel, mais la charge déjà installé en complément, sans forcer, ce installer/réinstaller problème.

J'ai cherché et cherché mais tout ce que j'ai trouver sur google vous donne la solution pour installer/réinstaller. Est-il un autre moyen? L'add-in est installé, je veux juste excel pour le charger.

C'est ce que je fais en ce moment (prises à partir de google auriez des conseils):

//loop over the add-ins and if you find it uninstall it.
foreach (AddIn addIn in excel.AddIns)
    if (addIn.Name.Contains("My Addin"))
        addin.Installed = false;

    //install the addin
    var addin = excel.AddIns.Add("my_addin.xll", false);
        addin.Installed = true;
  • Pourriez-vous expliquer pourquoi vous avez besoin de faire Installer/Désinstaller? Je suis en train d'essayer de comprendre la façon dont Excel charge de complément, une fois que vous définissez pour la charger à chaque fois. Pourquoi faut-il installer/désinstaller?
  • où est-ce code appelé? je suppose un autre Excel AddIn? ou tout simplement un winform C# app?
  • J'ai mis à jour la question avec les points que vous avez soulevés, mais rapidement: Excel ne prend pas en charge les compléments à travers l'interopérabilité, tout ce que j'ai trouvé sur le net, dit-désinstallation/installation est la solution. Le Code est appelé à partir d'un c#, winforms app
  • Notez que Installed signifie quelque chose comme "activé". Réglage de l'installation de propriété sur false et true n'est pas "installer" et "désinstaller", mais ne fait que l'addin sur et en dehors.
InformationsquelleAutor user35149 | 2009-07-20