none
Excel C# RRS feed

  • Discussion générale

  • La récupération de la fabrique de classe COM pour le composant avec le CLSID
    {00024500-0000-0000-C000-000000000046} a échoué en raison de l'erreur suivante : 80070005.

    Erreur Excel in c# application


    jribiwael
    • Type modifié Ciprian Duduiala mercredi 15 juin 2011 13:36 attente de feedback
    jeudi 9 juin 2011 10:31

Toutes les réponses

  • Bonjour,

    De mémoire cela serait un "access denied". Quelques détails sur le contexte pourrait aider. Si c'est un service ou une application .NET cela me surprend moins.

    Voir la ligne de code qui plante peut-être aussi parfois utile...

     


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    jeudi 9 juin 2011 10:53
    Modérateur
  • Bonjour,

    Comme vous n’êtes pas revenu avec les détails demandées par Patrice je vous donne quelques liens qui pourraient être utiles pour résoudre votre problème :

     

    Erreur lors de création d’un objet Excel

    La récupération de la fabrique de classe COM a échoué

    La récupération de la fabrique de classe COM a échoué (2)

     

    Dites-nous svp si vous avez réussi à résoudre votre problème, afin que d'autres personnes avec le même problème puissent profiter de cette solution. Merci !

     

    Cordialement,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    mardi 14 juin 2011 12:46
  • Bonjour,

    J'ai développé un web service qui utilise Word et Excel avec VS 2008 sur Windows server 2003.

    Le problème est lors du déploiement dans les autres serveurs, Par exemple :

    Serveur 2008 R2 x 64, j’ai fait le déploiement dans II7. (NB : Office 2007 est installé)

     J’ai cette erreur avec le compte Administrateur dans le pool d’application :

    « La récupération de la fabrique de classe COM pour le composant avec le CLSID {000209FF-0000-0000-C000-000000000046} a échoué en raison de l'erreur suivante : 80070005. »

    Si je change dans le pool d’application à ApplicationPoolIdentity, j’ai cette erreur

    Microsoft Office Excel ne peut accéder au fichier « C:\ Classeur1.xlsx ». Plusieurs raisons possibles :

    • Le nom du fichier ou le chemin n'existe pas.

    • Ce fichier est actuellement utilisé par un autre programme.

    • Le classeur que vous essayez d'enregistrer porte le même nom qu'un classeur actuellement ouvert.           à Microsoft.Office.Interop.Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin, Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru, Object Local, Object CorruptLoad)

    D’âpres mon recherche et votre liens : il faut accéder a

    Goto Controlpanel--> Outils d'administration--> Services de composants--> ordinateurs--> myComputer--> DCOM Config--> Application Excel de Microsoft

    Je ne trouve pas ce COM ??

    Aidez-moi

    Merci

     


    jribiwael
    jeudi 16 juin 2011 15:38
  • A partir de quel moment on ne trouve plus ? Si c'est dans la liste des applis, chez moi c'est "Microsoft Excel Application".

    Essayer éventuellement d'écrire ailleurs que sur c:\ qui n'autorise normalement pas la création de fichier à la plupart des comptes (et notamment sans doute celui sous lequel tourne votre application, http://technet.microsoft.com/en-us/sysinternals/bb896645 peut-être utile pour tracer les problèmes de droits sur les fichiers/dossiers/registre).

    Pour être tout à fait franc, je crains que cette voie (utiliser "Office automation" sur un serveur) ne devienne très vite assez cauchemardesque et c'est d'ailleurs déconseillé par MS. Par exemple au premier lancement sous un compte, Excel va demander les initiales de l'utilisateur et comme personne n'est là pour voir ou répondre au dialogue on se demande pourquoi cela ne marche pas et pourquoi le process Excel reste "scotché" en mémoire etc... Tous ces comportements inattendus sont difficiles ne serait ce qu'à diagnostiquer (sans parler de mettre les bons droits comme vous commencez à devoir le faire). Idem si par exemple vous voulez  imprimer (pas de profil chargé donc pas d'imprimante dispo, il faut aller la configurer dans le profil par défaut) etc etc... Mon expérience personnelle de l'époque a été en bref un véritable parcours d'obstacles.

    N'oubliez pas que pendant votre mise au point, tout cela était largement interactif et tournait sous votre compte ce qui est loin d'être le cas une fois déployé sur un serveur sans session ouverte.

    Personnellement, je préfère utiliser des composants dédiés à cet usage (par exemple http://www.aspose.com/), dans ce cas particulier l'API est parfois un peu déroutante dans son organisation mais cela répond à mes besoins et le support a été très réactif lorsque nous avons eu un bug à soumettre (et des versions d'évaluation sont dispos avec juste un message supplémentaire inséré dans le doc Excel).

    Si vous voulez tenter votre chance essayer http://support.microsoft.com/kb/257757.


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    jeudi 16 juin 2011 16:36
    Modérateur