PDA

Ver la Versión Completa : ¿Cómo genero un informe en Word?


EveElgrande
25-07-2006, 14:31:08
Hola people...

Ya estuve viendo y analizando algo acerca del tema, en los FOROS anteriores, pero en verdad que estoy perdido en cuanto a los componentes, alguien de ustedes tiene un ejemplo de esto, por favor si lo tienen a su alcance enviénmelo, o sino enviénme una referencia donde pueda guiarme y estudiar un poco al respecto...

Para que tengan una idea más o menos, lo que quiero hacer es: desde una aplicación copiar el contenido de un memo en un documento de Word, es decir generarlo con ese contenido y darle diferentes formatos.

gracias a todos...

Neftali [Germán.Estévez]
25-07-2006, 14:46:34
Seguramente una búsqueda en los foros te será de mucha ayuda; Hazla si no la has hecho ya y vuelve a realizarla si ya la has hecho; 1 (http://www.clubdelphi.com/foros/showthread.php?t=19239&highlight=wORD+COLOR), 2 (http://www.clubdelphi.com/foros/showthread.php?t=31040&highlight=wORD+COLOR), 3 (http://www.clubdelphi.com/foros/showthread.php?t=26743&highlight=wORD+COLOR) y 4 (http://www.clubdelphi.com/foros/showthread.php?t=6629&highlight=wORD+COLOR),...

EveElgrande
25-07-2006, 15:08:47
My friend muchas gracias...ya encontré lo que quería ver, si acaso algo nos ponemos en contacto luego...


gracias....

EveElgrande
25-07-2006, 15:46:54
Hola, Neftalí, hoy probé el código que me sugeriste y funcionó correctamente, pero aún tengo incoveniente con lo que realmente quiero hacer, por eso a continuación voy a colocar el codigo que estoy utilizando para tratar de exportar: Los datos contenidos en un StringGrid y a continuacion de estos, dejando por ejemplo dos espacios , insertar un grafico correspondiente a dichos datos. Te aclaro que la parte de introducir los datos del StringGrid en un documento de Word funciona correctamente, pero el inconveniente precisamente es que el cursor queda posicionado en la celda (1,1) de la tabla en Word, y debido a esto no puedo colocar la imagen de un Chart en una posicion diferente de la hoja o documento de Word.

Codigo:


Código Delphi [-] (http://www.clubdelphi.com/foros/newreply.php?do=newreply&p=146478#)procedure TMDIChildMAD.SBEWordClick(Sender: TObject);
var
WordTable: Table;
i, j, RowCount, ColCount: Integer;
W, S, Nombre, Formato: OleVariant;
begin
if High(MMAD) <> -1 then
begin
if SDMAD.Execute then
begin
WDMAD.Connect;
try
RowCount := Actores;
ColCount := Actores;
WordTable := WDMAD.Tables.Add(WDMAD.Range,RowCount + 1,ColCount + 1,W,S);
for i := 1 to ColCount do
begin
WordTable.Cell(1, i + 1).Range.Font.Bold := 1;
WordTable.Cell(1, i + 1).Range.Text := MActores[i - 1][0];
WordTable.Cell(1, i + 1).Range.Paragraphs.Alignment := wdAlignParagraphCenter;
WordTable.Cell(1, i + 1).Range.Cells.Shading.BackgroundPatternColor:= clSilver;
end;
for i := 1 to RowCount do
begin
WordTable.Cell(i + 1, 1).Range.Font.Bold := 1;
WordTable.Cell(i + 1, 1).Range.Text := MActores[i - 1][0];
WordTable.Cell(i + 1, 1).Range.Paragraphs.Alignment := wdAlignParagraphCenter;
WordTable.Cell(i + 1, 1).Range.Cells.Shading.BackgroundPatternColor:= clSilver;
end;
for i:= 1 to RowCount do
for j:= 1 to ColCount do
begin
WordTable.Cell(i + 1, j + 1).Range.Text:=IntToStr(MMAD[i - 1][j - 1]);
WordTable.Cell(i + 1, j + 1).Range.Paragraphs.Alignment := wdAlignParagraphCenter;
if i = j then WordTable.Cell(i + 1, j + 1).Range.Cells.Shading.BackgroundPatternColor:= clCream;
end;
WordTable.Borders.Enable:= 1;
finally
Nombre:= SDMAD.FileName;
WDMAD.SaveAs(Nombre,Formato);
WDMAD.Application.Visible := true;
WDMAD.Disconnect;
end;
end;
end
else ShowMessage('La Matriz MAD no ha sido guardadada');
end;




WDMAD: TWordDocument.
SDMAD: TSaveDialog.


Cité el ejemplo completo para que te percataras rápido de lo que necesito...

tengo una duda, de que componente se deriva el procedimiento, porque no encuentro el componente:

procedure TMDIChildMAD.SBEWordClick(Sender: TObject);