2009-10-02 4 views
1

J'ai un .NET (C#) addin qui utilise une DLL COM Shim pour se charger dans Excel. L'addin fonctionne correctement sans problème lorsque Excel est exécuté normalement. L'addin affiche sa propre barre d'outils personnalisée dans Excel qui est utilisée pour exécuter différentes commandes.Excel COM - .NET COM AddIn se comporte différemment lorsque Excel est incorporé dans une application

Lorsque j'incorpore Excel dans une autre application (par exemple DSOFramer etc), l'addin commence à se comporter étrangement. Il semble que si je désactive un bouton sur sa barre d'outils, il ne soit pas réactivé après la définition de la propriété Visible. En outre, je reçois un tas d'erreurs "Object reference not set" car l'objet Application :: Selection est NULL, ce qui n'arrive jamais quand Excel s'exécute normalement. Parfois, je reçois également des erreurs d'autorisation lorsque la méthode Application :: GetAddIns() est appelée.

Je ne suis pas sûr de ce qui se passe ici et je n'ai pas pu trouver un article qui explique le comportement d'Excel COM Addins lorsque Excel est intégré dans une autre application.

Répondre

1

Je contacté Microsoft Professional pour ce problème et a trouvé que Microsoft décourage maintenant les applications de bureau d'incorporation. Il m'a été suggéré d'arrêter l'intégration d'Excel dans l'application OU d'utiliser uniquement Excel 2007 avec une interface de ruban. Selon MS, l'interface utilisateur du ruban n'a pas ces problèmes.

Le problème avec les CommandBars est que la négociation se produit uniquement pendant le OnConnection et aucune modification ne peut être effectuée par la suite.

1

Je dois admettre que je ne connais pas grand chose à propos de dSOFramer, mais j'ai couru à travers les éléments suivants. Je ne sais pas si cela aide du tout.

link text

link text

Questions connexes