I've started to use PHP for generatign MS Word documents recently. I've used Perl for this and it worked fine but I don't like Perl so I decided to use PHP.
However there are not many examples of usign COM with PHP and these that shows how to create Word docs are very simple.
I have problem passing method arguments. In Perl I used hash arrays like that:
$document->Envelope->Insert( { ExtractAddress => 0,
OmitReturnAddress => 0,
PrintBarCode => 0,
PrintFIMA => 0,
Address => $destination_address,
ReturnAddress => $return_address } );
In PHP it doesn't Work so I use objects properties but sometimes I have to pass some named parameters and I don't know how to do it.
$document->Envelope->Insert();
$document->Envelope->ReturnAddress=$return_address;
$document->Envelope->Address=$address;
I tried to do serial correspondence in Word (MailMerge) but from PHP it is almost impossible. So I decided to write MS Word Macro to generate serial correspondence and run Macro from PHP.
It forks perfectly but only from command line - from browser it outputs empty doc. Any suggestions? PHP Code below.
Alien
Running MS Word Macro from PHP:
$word = new COM("word.application") or die("Unable to instantiate Word");
$word->Visible = 0;
$word->DisplayAlerts = 0;
//Macro file
$document = $word->Documents->Open($temporary_file_name1) or die("Cannot open file");
$word->Run("Makro1");
$word->Documents[1]->SaveAs($temporary_file_name1);
$word->Quit();