Patrick
2007-07-29 21:03:56 UTC
Bonjour,
Je cherche à créer un document Word à partir de PHP.
J'utilise la classe COM pour créer l'objet Word puis les méthodes et
propriétés de l'objet pour y accéder.
Pas de problème jusqu'à l'utilisation des constantes prédéfinies par
Word qui doivent être passées en paramètre de certaines méthodes ou
comme valeur de certaines propriétés : j'obtiens alors une exception
dans PHP.
Voici mon code :
com_load_typelib("Word.Application");
$word = new COM("Word.Application");
$doc = $word->Documents->Add();
$doc->Activate();
$doc->Select();
$word->ActiveDocument->PageSetup->Orientation = wdOrientLandscape;
$word->Selection->TypeText("CRs monitoring for product $product");
$doc->Close(wdDoNotSaveChanges);
$word->Quit();
$word = null;
unset($word);
L'exécution de ce code provoque une exception avec le message d'erreur
suivant : "Parameter 0: Le type ne correspond pas" sur la ligne où est
utilisée la constante "wdOrientLandscape".
J'ai essayé avec et sans l'instruction "com_load_typelib", rien n'y fait !
Pouvez vous me dire ce qu'il faut faire pour faire marcher OLE avec PHP ?
Pour info, je suis sous Win XP, Office XP et PHP 5.2.3.
Merci d'avance.
Patrick
Je cherche à créer un document Word à partir de PHP.
J'utilise la classe COM pour créer l'objet Word puis les méthodes et
propriétés de l'objet pour y accéder.
Pas de problème jusqu'à l'utilisation des constantes prédéfinies par
Word qui doivent être passées en paramètre de certaines méthodes ou
comme valeur de certaines propriétés : j'obtiens alors une exception
dans PHP.
Voici mon code :
com_load_typelib("Word.Application");
$word = new COM("Word.Application");
$doc = $word->Documents->Add();
$doc->Activate();
$doc->Select();
$word->ActiveDocument->PageSetup->Orientation = wdOrientLandscape;
$word->Selection->TypeText("CRs monitoring for product $product");
$doc->Close(wdDoNotSaveChanges);
$word->Quit();
$word = null;
unset($word);
L'exécution de ce code provoque une exception avec le message d'erreur
suivant : "Parameter 0: Le type ne correspond pas" sur la ligne où est
utilisée la constante "wdOrientLandscape".
J'ai essayé avec et sans l'instruction "com_load_typelib", rien n'y fait !
Pouvez vous me dire ce qu'il faut faire pour faire marcher OLE avec PHP ?
Pour info, je suis sous Win XP, Office XP et PHP 5.2.3.
Merci d'avance.
Patrick