Hola,
tengo que sustitur en un fichero word unos marcadores. tengo un codigo que funciona perfectamente en el servidor, donde esta instalado el office 2003
al lanzarlo en mi equipo, donde tengo office 2007 me da el siguiente error:
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft Word<br/><b>Description:</b> El comando no está disponible porque no hay ningún documento abierto.'
mi codigo es el siguiente:
Código PHP:
Ver original$template_file = $APPCONF_RutaInformes."/plantillas/a".$nombre_plantilla.".doc";
//Comprobamos que el archivo exista y sea editable
//2. Instanciate Word
$word = new COM
("Word.Application") or
die("Unable to instantiate Word"); $word->Documents->Open($template_file);
$word->Application->Visible = True;
//Para cada equivalencia, buscamos su marcador y lo cambiamos
foreach ($equivalencias as $dato) {
//4. get the value
$value = $dato[1];
//5. get the bookmark and create a new MS Word Range (to enable text substitution)
$bookmarkname = $dato[0];
//Comprobamos que el marcador existe para hacer el reemplazo
if ($word->ActiveDocument->Bookmarks->Exists($bookmarkname)){
$objBookmark = $word->ActiveDocument->Bookmarks($bookmarkname);
$range = $objBookmark->Range; //6. now substitute the bookmark with actual value
$range->Text = no_null($value);
}
}
y la aplicación me casca concretamente en la linea:
Código PHP:
Ver originalif ($word->ActiveDocument->Bookmarks->Exists($bookmarkname)){
por la función "$word->Documents->Open($template_file);" pasa bien, pero parece que no abre el documento
sabeis si hay que hacer alguna otra cosa para trabajar con el word 2007??
un saludo y gracias