Excel OLE - .NET COM AddIn se comporte différemment lorsque Excel est incorporé dans une application

StackOverflow https://stackoverflow.com/questions/1510983

Question

J'ai un .NET (C #) Addin qui utilise une dll COM Shim à se charger dans Excel. Le Addin fonctionne très bien sans problème lorsque Excel est exécuté normalement. Le Addin affiche sa propre barre d'outils personnalisée dans Excel qui est utilisé pour exécuter les différentes commandes.

Quand j'intégrer Excel dans une autre application (par exemple DSOFramer etc.), le Addin commence à se comporter étrangement. Il semble que si je désactive un bouton sur sa barre d'outils il ne soit pas activée à nouveau après avoir défini la propriété Visible. De plus, je reçois un tas de « référence d'objet pas encore défini » erreurs car l'application :: objet de sélection est NULL, qui ne se produit jamais lorsque Excel fonctionne normalement. Parfois, je reçois aussi des erreurs d'autorisation lorsque l'application :: méthode GetAddIns () est appelée.

Je ne sais pas ce qui se passe ici et je ne pouvais pas trouver un articles qui explique le comportement d'Excel COM Addins lorsque Excel est incorporé dans une autre application.

Était-ce utile?

La solution 2

J'ai contacté Microsoft Professional pour cette question et a découvert que Microsoft décourage maintenant les applications de bureau d'incorporation. Je suggère soit d'arrêter l'intégration Excel dans l'application ou l'utilisation que Excel 2007 qui a une interface utilisateur de ruban. Selon MS, l'interface utilisateur du ruban ne dispose pas de ces questions.

Le problème avec les CommandBars est que la négociation ne se produit que lors de la OnConnection et aucune modification ne peut être par la suite.

Autres conseils

Je dois admettre que je ne sais pas grand chose sur DSOFramer, mais j'ai couru à travers les éléments suivants. Je ne sais pas si ceux-ci l'aide à tous.

texte de lien

texte de lien

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top