Tous les exemples qui automatisent Excel via PowerShell commencent par cette ligne:Comment se connecter à une instance existante d'Excel à partir de PowerShell?
PS> $Excel = New-Object -Com Excel.Application
Cela semble être la manipulation d'une nouvelle instance d'Excel, par exemple l'exécution $Excel.Visiable = $true
affichera une fenêtre Excel vide et vide, ne pas basculer vers le classeur existant.
S'il existe déjà une instance d'Excel en cours d'exécution, existe-t-il un moyen de s'y connecter?
Avez-vous besoin de vous connecter à une instance spécifique d'Excel représentée par une fenêtre spécifique? Sinon, vous pouvez également accéder à une instance Excel en cours d'exécution comme ceci: http://support.microsoft.com/kb/316126. L'article de la base de connaissances utilise C# mais les appels (System.Runtime.InteropServices.Marshal.GetActiveObject ("Excel.Application"), par exemple) devraient être assez faciles à traduire. –
Juste pour compléter la réponse de Ian: $ Excel = [Runtime.Interopservices.Marshal] :: GetActiveObject ('Excel.Application') récupérera l'instance existante d'Excel. –
Merci. Cependant, je viens d'essayer cela et ensuite exécuter '$ Excel.Visiable = $ true' - il a encore ouvert une nouvelle fenêtre Excel. – Borek