J'ai une application en C#, cette application colle des informations pour exceller sur demande de l'utilisateur, la logique derrière est comme ça, s'il n'y a aucune instance excel en cours d'exécution, elle en crée une et colle à cette instance.Comment obtenir une instance Active Excel?
Si une seule instance est en cours d'exécution, elle tente d'obtenir cette instance et de travailler avec elle. Voici le code que je utilise pour le faire:
Guid _guid;
CLSIDFromProgID("Excel.Application", out _guid);
if (_guid == Guid.Empty) {...}
IntPtr _ptr = new IntPtr();
GetActiveObject(ref _guid, _ptr, out objApp);
everythig Jusqu'à présent, fonctionne très bien, mais le problème que j'ai est quand il y a plus d'un cas Excel en cours d'exécution, je veux obtenir l'instance active Excel, mais actuellement je ne peux obtenir que la première instance que j'ai ouverte, qui est la première instance enregistrée dans la table des objets courants selon ce que j'ai lu.
Existe-t-il un moyen de "demander" à une instance Excel s'il s'agit de l'instance active et donc de l'utiliser? ou comment puis-je obtenir l'instance active?
Quelle est votre définition d'actif? A focus? Que faire si une autre application a un objectif? Vous devrez peut-être demander à l'utilisateur quelle instance utiliser ... –