[VB.NET] Question sur le pilotage d'Excel
Bonjour,
J'ai une application qui génère un fichier Excel et qui récupère des événements dans ce fichier. J'ai déclaré mon application, mon workbook et ma feuille avec des WithEvents.
Code:
1 2 3 4
|
Public WithEvents xlApp As Excel.Application
Public WithEvents xlBook As Excel.Workbook
Public WithEvents xlSheet As Excel.Worksheet |
Ensuite, je crée une application et un workbook avec une seule feuille.
Code:
1 2 3 4
|
xlApp = CType(CreateObject("Excel.Application"), Excel.Application)
xlApp.SheetsInNewWorkbook = 1
xlBook = CType(xlApp.Workbooks.Add, Excel.Workbook) |
Jusque là, pas de problème, je récupère un certain nombre d'actions sur la feuille.
Le problème survient lorsque, mon application étant en train de tourner donc ma feuille Excel est ouverte, j'ouvre un autre fichier Excel quelconque en passant par l'explorateur par exemple.
Le nouveau fichier Excel s'ouvre dans l'application que j'ai créé et je perds la main sur le classeur Excel créé par l'application.
Ma question est : Est-il possible d'empêcher que d'autres classeurs s'ouvrent dans l'instance d'application que je créé via VB Net ? Ou alors, est-il possible de garder la main sur celui que j'ai créé et que l'ouverture d'un nouveau soit transparente ?
Merci d'avance de vos réponses.