Obtenir le Classeur en cours de l'Objet en C#
J'ai écrit une application en C# qui crée les propriétés Personnalisées du Document dans un tableur Excel, j'ai une fonction pour ce qui tient dans un Classeur...
Cependant, le fait de tomber le Classeur en cours de l'objet se révèle être assez ennuyeux, je suis en utilisant ExcelDNA pour ajouter des fonctionnalités, cependant, je n'arrive pas à passer ma fonction valide Classeur objet COM.
Vous devez vous connecter pour publier un commentaire.
C'est la façon dont je suis en train de faire cela, il semble fonctionner très bien
Puis vous obtenez classeur actif
Alors je voudrais essayer ce que vous avez et de voir comment il fonctionne
Espère que cette aide
Si vous avez besoin de trouver la activeworkbook avec
C#
, si vous utilisez Office Interop, vous pouvez essayer ce genre de code:[Source]
Marshal.GetActiveObject("Excel.Application");
qui serait parfois d'incendie de nouvelles instances d'ExcelComme @Govert expliqué ci-dessus, dans son commentaire:
GetActiveObject() recherche dans la Table ROT () et vous donne la dernière instance d'Excel ouvert, qui peut ne pas correspondre avec top Z bon de commande excel fenêtre.
Boucle à travers le Z de l'ordre et de trouver la correspondance classeur.
Voir ce lien: -
https://social.msdn.microsoft.com/Forums/office/en-US/060000d8-a899-49bf-a965-0576dee958d4/how-to-get-active-application?forum=exceldev