IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Excel Interop HRESULT : 0x800A03EC


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Vonziz
    Inscrit en
    Décembre 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 215
    Par défaut Excel Interop HRESULT : 0x800A03EC
    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!

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Bonjour

    Ton service est bien en 64 bits ? (compilé AnyCPU ou x64)

  3. #3
    Membre confirmé Avatar de Vonziz
    Inscrit en
    Décembre 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 215
    Par défaut
    Bonjour!

    Oui je suis en "Any CPU" dans "Platform target" des options du projet.

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Ok.

    Le compte de service a-t-il bien le droit d'écriture dans le répertoire contenant le fichier Excel ?

  5. #5
    Membre confirmé Avatar de Vonziz
    Inscrit en
    Décembre 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 215
    Par défaut
    J'ai mis les droits à tout le monde sur le répertoire.

    Quand j'exécute mon application test juste avant sur le même fichier, ça marche parfaitement.

    Information supplémentaire : Le service Windows effectue ses traitements sur le fichier Excel dans un Thread à part, cela peut il poser problème?

Discussions similaires

  1. [Débutant] Cacher un Woorkbook Excel (Interop)
    Par JJ-Rousseau dans le forum C#
    Réponses: 3
    Dernier message: 10/04/2012, 11h38
  2. Réponses: 0
    Dernier message: 06/03/2012, 15h07
  3. Réponses: 2
    Dernier message: 03/06/2010, 17h05
  4. exception hresult 0x800A03EC
    Par zanoubya dans le forum VB.NET
    Réponses: 4
    Dernier message: 28/01/2010, 12h00
  5. [VS 2008][Excel] HRESULT: 0x800A03EC sur copie d'onglet
    Par weejungle dans le forum ASP.NET
    Réponses: 0
    Dernier message: 30/01/2009, 09h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo