Re: PHP and COM+ prob

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux