• Domingo 15 de Diciembre de 2024, 09:36

Autor Tema:  Modificar Pie Y Encabezado De Pagina Desde Builder  (Leído 2477 veces)

titipower

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Modificar Pie Y Encabezado De Pagina Desde Builder
« en: Viernes 19 de Diciembre de 2003, 16:22 »
0
He buscado en mil sitios como modificar el pie y encabezado de una plantilla word desde builder.

Se como modificar el texto de la plantilla, pero no se como poder modificar el texto que se encuentra en el pie de página o en el encabezado de esa plantilla. No se acceder a esos elementos ni encuentro información de como hacerlo desde builder.

A ver quien aporta alguna idea de como meterle mano a esto ...  :smartass:

eduardomaldo

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Modificar Pie Y Encabezado De Pagina Desde Builder
« Respuesta #1 en: Lunes 22 de Diciembre de 2003, 02:39 »
0
La forma más sencilla es hacerlo primero desde macro en Word, luego ese código que es Visual Basic para Aplicaciones, programarlo desde C++ Builder.

Espero le sirva de algo.

Eduardo Maldonado
 :scream:

titipower

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Modificar Pie Y Encabezado De Pagina Desde Builder
« Respuesta #2 en: Viernes 9 de Enero de 2004, 11:35 »
0
Lo q me dices ya lo sabia y no me vale.
Esta es la solución. Me la dierón en el foro de builder:

// Añadimos: #include <comobj.hpp>

Variant word, doc, sections, footers, footer, range, font;
WideString nombreDoc = "c:\\_Leo.doc";
WideString textoAnyadir = "Texto pie";

word = CreateOleObject("Word.Application");
word.OlePropertySet("DisplayAlerts", false);
doc = word.OlePropertyGet("Documents").OleFunction("Open", nombreDoc);

sections = doc.OlePropertyGet("Sections");
footers = sections.OlePropertyGet("First").OlePropertyGet("Footers");
footer = footers.OleFunction("Item", 1 /*wdHeaderFooterPrimary*/);

range = footer.OlePropertyGet("Range");
font = range.OlePropertyGet("Font");
font.OlePropertySet("Name", "Tahoma");
font.OlePropertySet("Size", 7);
font.OlePropertySet("Italic", true);
font.OlePropertySet("Bold", true);

range.OleProcedure("InsertAfter", textoAnyadir);

doc.OleProcedure("Close", 0xFFFFFFFF /*wdSaveChanges*/);
word.OleProcedure("Quit");

Un saludo. :rolleyes: