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 :

[COM] Ouvrir Word en php


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Par défaut [COM] Ouvrir Word en php
    Bonjour à tous !

    je suis en train de bosser sur un intranet dans lequel je souhaite mettre en place un systeme de publipostage avec Word !

    Pour le moment j'ai pu seulment mettre en relation Word et la base de donnée Mysql ! Cela marche bien j'arrive à faire des requetes ...

    Mon probleme se situe au niveau de l'appel de Word. En effet j'utilise l'objet COM afin d'instancier l'application Word mais ca bug ! J'ai une erreur Apache qui s'affiche a l'ecran et rien ne se produit !

    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
     
    <?php
     
    $input = "c:\\test.doc";
    $word = @new COM("word.application") or die("Unable to instantiate Word");
    print "Loaded Word, version {$word->Version}\n<br>";
    $word->Visible = 1;
    print "Set Word To Visible<br>";
    $word->Documents->Open($input);
    print "Opened $input<br>";
    $word->Activate;
    print "Activated Word<br>";
    print "Editing Fields<br>";
    $Field = $word->ActiveDocument->Fields(1);
    $fieldData = $Field->Result;
    $fieldData->Text = "Testing";
    // Print the document.
    $word->Printout();
    // closing word
    $word->Quit();
    // free the object
    $word->Release();
    $word = null;
     
    ?>
     
    Qqun pourrait-il m'eclairer ?? car la je plante :? 
     
    merci !

  2. #2
    Membre averti
    Inscrit en
    Février 2006
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 28
    Par défaut
    et c'est quoi l'erreur apach??

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Par défaut
    l'erreur est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [error] PHP Warning:  (null)(): Invalid ProgID, GUID string, or Moniker: Syntaxe incorrecte\r\n in c:\\program files\\easyphp1-8\\www\\les_contact\\envoyer_lettre.php on line 4
    la version php est 4.3.10
    apache : Apache/1.3.33 (Win32)

    peut etre qu'avec wamp5 ca marchera mais en cherchant sur le net j'ai trouvais plusieurs fois le meme probleme avec les deux versions !!

    c'est tu de quoi il s'agit !!??

  4. #4
    Invité(e)
    Invité(e)
    Par défaut message
    comme le message l'indique qu'y a t-il

    a envoyer_lettre.php on line 4

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Par défaut
    l'erreur se situe a la creation

    voici ma ligne 4
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $word = new COM("word.application") or die("Can't start Word !");

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Par défaut
    je reviens sur ce sujet assez compliqué (lol) !

    J'ai regardé pas mal de post de differents sites afin de voir pkoi mon code ne marchait pas.

    Il apparait clairement que EasyPHP n'apprecie pas du tout l'objet COM (erreur fatal d'apache !! ).
    Alors j'ai testé avec un autre fournisseur nommé WAMP avec la version WAMP5_1.4.4 qui selon certain permet d'effectuer l'ouverture de word en php.

    Mais la aussi les tests se sont avérés sans succes ! Ou alors un soupcon de reussite, j'explique:

    avec le code suivant :
    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
     
    <?php
    // créer une référence à un nouveau composant COM (Word)
    $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("comtest.doc");
     
    // fermer la connexion au composant COM
    $word->Quit();
     
    // afficher un autre message à l'écran
    echo "Check for the file...";
    ?>
    le fichier "comtest.doc" est bien créé mais mais cela prend pas mal de temps !
    puis lorsque je souhaite modifier le chemin de sauvegarde ca ne marche pas !

    Voulant absolument ouvrir Word a partir de ma page web me suis redirigé vers la soulution HTML (beurk ! ) . La encore apres plusieurs test avec les ActiveX, et des script jscript... rien de bon ne se passe !

    Donc finalement j'ai recup un scrip Vbscript qui Marche (Enfin!!). Mais sous forme de lien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    <HTML>
    <head> 
    <script language=VBSCRIPT> 
    Dim WshShell 
    Set WshShell = CreateObject("WScript.Shell") 
    </script> 
    </head> 
    <body> 
    <a href="#" onclick=WSHSHELL.RUN("C:\testing.doc"),0,TRUE>Oui vas-y clicques ici!</a>
    </body>
    </HTML>
    le pb qui se pose now ! c'est que cela ne correspond pas du tout a ce que je souhaite faire !
    En effet le but de cette manipulation de Word est de faire du publipostage a partir d'un formulaire de recherche (donc PHP !!).

    Donc voila si certain sont interressé par ce sujet et on une idée de la facon de faire ???

Discussions similaires

  1. [Word] Comment ouvrir un document word avec PHP ?
    Par jojoquiasa dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 17/07/2007, 16h10
  2. [COM] Ouvrir un fichier .rtf (word) en php
    Par fdu63 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 06/06/2007, 11h38
  3. [COM] Conversion WORD vers PDF sous PHP sans COM ?
    Par pdtor dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 31/01/2007, 22h27
  4. [Word] Ouvrir un document Word en PHP
    Par Bart51 dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 22/05/2006, 08h46
  5. [COM] Ouvrir un fichier Word dans PHP
    Par TomZ dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 24/03/2006, 13h58

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