Bonjour,

Dans un service Windows, je tente d'accéder aux composants VB d'un fichier Excel via les API Interop Excel et VB :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Microsoft.Office.Interop.Excel.Workbook result = excel.Workbooks.Open(filePath, bFalse, bTrue, oMissing, oEmptyPassword, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
 
Microsoft.Office.Interop.Excel.Sheets sheets = result.Worksheets;
Microsoft.Vbe.Interop.VBComponent xlm = result.VBProject.VBComponents.Add(Microsoft.Vbe.Interop.vbext_ComponentType.vbext_ct_StdModule);
Lors de l'exécution de la dernière ligne de code, une exception est levée de type :
Exception de HRESULT : 0x800A03EC
Et les détails :
à Microsoft.Office.Interop.Excel.WorkbookClass.get_VBProject()
J'ai pourtant bien coché la case "Accès approuvé au modèle d'objet du projet VBA" dans le menu "Paramètres des macros" d'Excel.
Je précise : je suis en Office 2010 x64.
Et dans une petite application console exemple, je n'ai pas de problème à exécuter ce code.

Merci d'avance de votre aide!