“Nouveau” Excel.Application vs Excel.Application

Je suis à la recherche de précisions sur l'impact de la "Nouvelle" sur les objets et le script.

Ma compréhension est que si j'ai besoin d'effectuer des actions sur un document excel et l'application est fermée, alors que je devrais utiliser Excel Nouveau.Application.

Si je garde cette application active (par l'intermédiaire d'un objet tel qu'un Classeur par exemple) et plus tard dans le script que j'ai décider d'ouvrir un autre classeur, dois-je toujours utiliser Excel Nouveau.Application ou serait-il mieux d'utiliser Excel.Application alors?

Mon inquiétude réside dans le fait que je vais écrire un long script qui permettra d'effectuer des actions sur au moins 5 Classeurs. Je vais avoir à passer d'un Classeur à un autre, puis de revenir à l'ancienne...

Si à chaque fois que le script crée un Nouveau Excel.L'Application, j'ai peut-être beaucoup d'entre eux en cours d'exécution et je suis craignant que cette pagaille serait de générer des problèmes.

Est-il plus approprié d'écrire quelque chose comme:

Dim NxlApp as New Excel.Application
Dim xlApp as Excel.Application

  NxlApp.Workbooks.Open "C:\Users\...\WorkbookA.xlsx"
  NxlApp.Visible = True

'Perform actions on WorkbookA (keep it open)


  Set ExcelApp = GetObject("", "Excel.Application.14")
  xlApp.Workbooks.Open "C:\Users\...\WorkbookB.xlsx"
  xlApp.Visible = True

'Perform actions on WorkbookB (keep it open)


'Go back to WorkbookA (using the xlApp variable this time)

  xlApp.Workbook("A.xlsx")...
msdn.microsoft.com/en-us/library/office/...
msdn.microsoft.com/en-us/library/7zc73115(v=vs. 90).aspx
L'OP a un bon point... j'ai toujours remarqué que Microsoft Scripting Runtime exige un Nouveau mot-clé pour FileScriptingObject mais pas pour d'autres bibliothèques. Pourquoi certains ont besoin de Nouvelles et d'autres ne le sont pas?

OriginalL'auteur ProtoVB | 2013-11-06