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

Bibliothèques et frameworks PHP Discussion :

CoInitialize sur objet DOM


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Août 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 2
    Par défaut CoInitialize sur objet DOM
    Bonjour,
    je suis actuellement en création d'un outil pour générer un document au format .doc, personnalisé en fonction de données issues d'une BDD.

    Mon code est le suivant, trouvé sur un tuto, très bien expliqué:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <?php
    // Chargement de la librairie 
    com_load_typelib('Word.Application'); 
    //$word= new COM;
    $word = new COM("word.application") or die("Can't start Word !"); 
     
     
    // afficher la version de Word en cours d'utilisation
    echo "Loading Word, v. {$word->Version}
    ";
     
    // définir la visibilité de l'application sur 0 (faux) 
    // pour ouvrir l'application au premier plan, utiliser 1 (vrai) 
    $word->Visible = 0; 
     
    // créer un nouveau document dans Word
    $word->Documents->Add();
     
    // ajouter du texte au nouveau document
    $word->Selection->TypeText("Testing 1-2-3...");
     
    // enregistrer le document dans le dossier temp de Windows
    $word->Documents[1]->SaveAs("C:/wamp/www/comtest.doc");
     
    // fermer la connexion au composant COM
    $word->Quit();
     
    // afficher un autre message à l'écran
    echo "Check for the file..."; 
    ?>
    De premier abord, il semble correct, et pourtant, je reçois un message d'erreur dès son exécution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `word.application': CoInitialize n'a pas été appelé. ' in C:\wamp\www\test.php:5 Stack trace: #0 C:\wamp\www\test.php(5): com->com('word.applicatio...') #1 {main} thrown in C:\wamp\www\test.php on line 5
    Il renvoie donc bien une erreur sur la création de l'objet DOM.

    Je précise également, que j'ai auparavant eu plusieurs problèmes, qui devaient correspondre aux droits et permissions d'utilisateurs.
    J'ai beau chercher les références de la fonction CoInitialize(), impossible d'avoir une réponse au problème. Et pire encore, je n'ai pas trouvé de personnes dans le même cas que moi.

    Bref, si vous avez un avis sur la chose, je suis toute ouïe.

    Pascal

  2. #2
    Nouveau candidat au Club
    Inscrit en
    Août 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 2
    Par défaut
    Et je suis sous windows server 2008, le problème vient surement de là. Mais si il y a des retours, ou des solutions, je suis preneur, bien entendu.

  3. #3
    Invité de passage
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 1
    Par défaut
    Bonjour, J'ai exactement la même erreur j'ai installé le pack Office2002 (2000) sur le serveur (WindowsServer2008 standard) Et ça ne marche pas pourtant j'ai installé exactement la même version de Microsoft Office sur un autre serveur (WindowsServer 2003) et cela fonctionne.
    La différence que j'ai remarqué c'est dans les services de composant.
    le serveur ou mon édition Word et Excel marche possède dans la Configuration DCOM les "composants" 'Application Microsoft Excel' et 'document Microsoft Word'... Sur le serveur ou les éditions plantent, il manque 'document Microsoft Word', j'ai relancé l'install Office2002 plusieurs fois que ce soit en install complète ou personnalisée mais ça ne change rien les composant restent les mêmes...
    Mais erreur PHP varient mais commencent toute par :
    PHP Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `word.application':
    pour Word...
    Et,
    PHP Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `excel.application':
    pour Excel...
    Il y a donc un problème de compatibilité quelque part...
    Si quelqu'un pourait m'aider s'il vous plait en me proposant autre chose que WriteExcel ou PHPExcel merci.

Discussions similaires

  1. Documentation sur Objet COM et ASP ?
    Par delphinote dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 08/09/2005, 20h55
  2. [C#] [VS.NET] Peut on faire un accesseur sur objets?
    Par Designotik dans le forum Windows Forms
    Réponses: 3
    Dernier message: 06/01/2005, 21h56
  3. Evenement sur objet dynamique
    Par CanardJM dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 19/11/2004, 13h56
  4. [Debutant VC++.net] Obtenir un pointeur sur objet
    Par SteelBox dans le forum MFC
    Réponses: 6
    Dernier message: 17/06/2004, 18h36

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