La Web del Programador: Comunidad de Programadores
 
    Pregunta:  3391 - COMO FUNCIONAN LOS SERVIDORES DE MSWORD?
Autor:  Heriberto Ledesma Sánchez
Nececito enviar un documento a Word y darle formato desde Delphi, pero lo he intentado usando los componentes de la barra Servers y los componentes de WORD, pero desafortunadamente no he podido enlazarlo, alguien sabe como hacerlo y sabe como realizar las funciones basicas de word desde estos como son Alinear, negritas, cursivas, seleccionar un texto o un parrafo o parte de un parrafo.

Si alguien sabe y me puede apoyar con ejemplos se lo agradecere. Gracias de antemano

  Respuesta:  Victor Espigares Martin
Como referencia para saber usar los servidores de Word puedes usar el archivo de ayuda que viene con el MS-Word acerca del Visual Basic para aplicaciones. En este fichero (que tienes que instalar aparte, si no lo instalaste) vienen las jerarquias de objetos y todas las propiedades. Claro que está orientado a Visual Basic pero bueno, te sirve como referencia. Por ejemplo para iniciar el Word con una plantilla se haría así:

var
Template,NewTemplate,ItemIndex:OleVariant;
(.......)
try
Template := EmptyParam;
NewTemplate := True;
ItemIndex:=1;

try
Wordapplication.Connect;
except
{Error, puede que el Word no este instalado}
Abort;
end;
Wordapplication.Visible := false;
WordApplication.Caption := ´Estoesunaprueba´;
{Crea nuevo documento}
Template := ´prueba.dot´
NewTemplate := False;
WordApplication.Documents.Add(Template, NewTemplate);
{Asignas el componente WorDocument}
WordDocument.ConnectTo(Mainform.WordApplication.Documents.Item(ItemIndex));

{Pones el corrector ortográfico como false} WordApplication.Options.CheckSpellingAsYouType := False;
WordApplication.Options.CheckGrammarAsYouType := False;
{}

Este ejemplo esta sacado de una plantilla que use con campos definidos en el word a los que luego le asignaba en run-time valores para imprimirlo como informe. Itemindex es la variable que contiene el valor del campo en el que te encuentras.

Espero que te haya servido como ayuda. Si necesitas más ayuda sobre algo más en concreto, te agradecería que usaras mi mail, además de la peich...

Bye!