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

Langage PHP Discussion :

[php 7.0.1] php_com_dotnet : word ne s'exécute pas !


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    7 445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 7 445
    Par défaut [php 7.0.1] php_com_dotnet : word ne s'exécute pas !
    Bonjour à tous.

    Problème concernant l'extension php_com_dotnet & Microsoft Word 2007 sous Windows 10.

    Habituellement, je me débrouille seul, soit en faisant des tests, soit en cherchant une réponse sur le net. Mais là, je bloque totalement !
    Quand j'étais sous Windows 7, je n'avais pas ce problème, mais comme je suis maintenant sous Windows 10, je n'ai pas su le résoudre.
    Je tiens à signaler que je fais aussi des manipulations avec Microsoft Excel 2007, mais je n'ai aucun problème.

    J'ai dû reprendre une application écrite en php pour manipuler des fichiers "Microsoft Word 2007".
    Et le résultat, c'est que le traitement boucle sans donner une erreur.
    J'ai résumé à un simple test le problème que je rencontre, que voici :
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    <!doctype html>
    <html>
    <header>
    <meta charset="ISO-8859-1" />
    <title>Test Word !</title>
     
    <link rel="stylesheet" type="text/css" href="Styles.css" />
    </header>
    <body>
    <h1>Test Application Word</h1>
     
    <?php
    $Html='F:\\Site-01\\Ex_12\\Documents\\test.html';
     
    if (file_exists($Html))
    {
    	unlink($Html);
    }
     
    $File='F:\\Site-01\\Ex_12\\Documents\\test.docx';
     
    if (file_exists($File))
    {
    	try {
    		$Word = new COM("Word.Application") or die("Impossible de lancer Word !");
     
    		echo "<p>Version Word : ".$Word->Application->Version."</p>";
    		echo "<p>Application name : ".$Word->Application->Value."</p>";
    		echo "<p>Permission : ".shell_exec("whoami")."</p>";
    		echo "<p>Chemin vers Application : ".$Word->Application->Path."</p>";
     
    		$Word->Visible = false;
     
    		$Word->Documents->Open($File);
    		$Word->Selection->TypeParagraph();
    		$Word->Selection->TypeText("Exemple d'insertion d'un texte dans un document.");
    		$Word->Documents[1]->SaveAs($Html);
     
    		$Word->Quit();
    		$Word->Release();
    		$Word = null;
    		unset($Word);
     
    		echo "<p class='Finish'>Application Terminée !</p>";
    	}
    	catch (Exception $e)
    	{
    		echo "<pre>Exception sur Word.Application : ".$e->getMessage()."</pre>";
     
    		$Word->Quit();
    		$Word->Release();
    		$Word = null;
    		unset($Word);
    	}
    }
    else
    {
    	echo "<p>Fichier Inexistant : ".$File."</p>";
    }
     
    ?>
    </body>
    </html>
    Je pense que le code ci-dessus n'est pas en cause, puisque cela fonctionnait avant.
    Je pense qu'il y a un problème de déclarative avec Winword.exe Est-ce un problème d'autorisation ?

    Je suis sous wampserver (apache 2.4.18, php 7.0.1) et j'utilise php_com_dotnet.

    J'ai lancé "MMC comexp.msc /32" et recherché "Microsoft Office Word 97 - 2003". Dans l'onglet "identité", j'ai coché "l'utilisateur interactif".
    En fait, j'ai mis exactement la même chose que pour "Microsoft Excel Applcation", puisque avec excel, ça fonctionne.

    Qu'est-ce que j'ai oublié de faire avec Word ? Est-ce que vous avez déjà rencontré ce genre de problème et comment l'avez-vous résolu ?

    @+

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu as fait un debugage de base comme par exemple contrôler ce que valait $word dans ton code ?
    Je ne vois pas trop ce que tu veux dire par "boucler" sans donner d'erreur. Tu obtiens une page vide sans aucun de tes echo ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    7 445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 7 445
    Par défaut
    Bonjour sabotage.

    Merci de m'aider !

    Citation Envoyé par Sabotage
    Je ne vois pas trop ce que tu veux dire par "boucler" sans donner d'erreur.
    Il n'y a pas d'erreur. La page web se met en attente de quelque chose sans jamais afficher quoi que ce soit.

    Citation Envoyé par Sabotage
    Tu obtiens une page vide sans aucun de tes echo ?
    Oui, c'est cela !

    Citation Envoyé par Sabotage
    Tu as fait un debugage de base comme par exemple contrôler ce que valait $word dans ton code ?
    Si je fais un echo de $Word, juste après la ligne "new com", j'ai juste ceci : "Microsoft Word".

    Edit : j'ai trouvé mon erreur. Il s'agit de ceci qui est bloquant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<p>Application name : ".$Word->Application->Value."</p>";
    J'ai remplacé ce "Value" par "Name" et maintenant cela fonctionne.

    Est-ce qu'il y a une documentation sur ce que l'on peut faire avec php et com pour manipuler des fichiers word ?

    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. est-ce que php peut traiter des documents Word ?
    Par funmatica dans le forum Langage
    Réponses: 1
    Dernier message: 25/09/2013, 16h58
  2. [MySQL] Fonction php stockée dans ma DB qui ne s'exécute pas
    Par steiner62 dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 30/10/2008, 15h05
  3. PHP et nombre de pages Word
    Par deruyter dans le forum Langage
    Réponses: 1
    Dernier message: 17/11/2006, 14h42
  4. [COM] PHP et COM pour Microsoft Word
    Par lhulard dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 16/05/2006, 20h02
  5. [Delphi 2005] Librairie Word (Word_TLB) ne compile pas
    Par Brogomil dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 01/08/2005, 10h12

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