bob pilly wrote:
Hi all!
I am trying to start word using com and php and having
problems. I am running php 5.04 and apache 2.054 on
windows. I have used a simple example from the php
site but cant get it working.
|<?php
// starting word
$word = new COM("word.application") or die("Unable to
instantiate Word");
echo "Loaded Word, version {$word->Version}\n";
//bring it to front
$word->Visible = 1;
//open an empty document
$word->Documents->Add();
//do some weird stuff
$word->Selection->TypeText("This is a test...");
$word->Documents[1]->SaveAs("Useless test.doc");
//closing word
$word->Quit();
//free the object
$word = null;
?>
i have called this page testcom.php but when i try and
view it with a clients browser i get this error:
[client xxx.xxx.xxx.xxx] PHP Fatal error: Uncaught
exception 'com_exception' with message 'Failed to
create COM object `Word.application': Invalid
syntax\r\n' in C:\\Program Files\\Apache
Group\\Apache2\\htdocs\\testcom.php:3\nStack
trace:\n#0 C:\\Program Files\\Apache
Group\\Apache2\\htdocs\\testcom.php(3):
com->com('Word.applicatio...')\n#1 {main}\n thrown in
C:\\Program Files\\Apache
Group\\Apache2\\htdocs\\testcom.php on line 3
|
Has anyone seen this error before or know what it
means? Or if possible does anyone know of any good
docs on using com with php?
this is not a COM specific error, you're trying to create
a new COM object and that fails - rather than return something
that evaluates to false the constructor for the COM object (
or something it is trying to call) is throwing a Exception...
('throwing' of) exceptions (and logically also the 'catching'
of them) are new concepts in PHP5.
try like it this and see whether something more useful error msg
is output:
<?php
// this is PHP5 only!
try {
// starting word
$word = new COM("word.application");
echo "Loaded Word, version {$word->Version}\n";
//bring it to front
$word->Visible = 1;
//open an empty document
$word->Documents->Add();
//do some weird stuff
$word->Selection->TypeText("This is a test...");
$word->Documents[1]->SaveAs("Useless test.doc");
//closing word
$word->Quit();
//free the object
$word = null;
}
catch (com_exception $e) {
echo "something bad happened with COM:<br />", $e->__toString();
}
catch (Exception $e) {
echo "something bad happened:<br />", $e->__toString();
}
?>
lookup 'try'/'catch'/'throw', 'exception' in the manual (php5 specific
areas).
Thanks in advance for any help!!
Cheers
Bob
___________________________________________________________
Yahoo! Messenger - want a free and easy way to contact your friends online? http://uk.messenger.yahoo.com
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php