Ver Mensaje Individual
  #4  
Antiguo 25-07-2006
EveElgrande EveElgrande is offline
Miembro
 
Registrado: jul 2006
Posts: 18
Reputación: 0
EveElgrande Va por buen camino
Hola Neftali...

Cita:
Empezado por Wdo.Net
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 [-]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);

Última edición por EveElgrande fecha: 26-07-2006 a las 14:09:09.
Responder Con Cita