Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Servers (https://www.clubdelphi.com/foros/forumdisplay.php?f=9)
-   -   Copiar contenido de una tabla de un doc Word en una tabla de otro doc Word (https://www.clubdelphi.com/foros/showthread.php?t=64070)

hades2600 15-03-2009 17:35:02

Copiar contenido de una tabla de un doc Word en una tabla de otro doc Word
 
Buenas tardes, foreros.

Estoy desesperado. Llevo varíos días haciendo pruebas y buscando información por google y no encuentro por ninguna parte como se puede hacer esto.

Necesito copiar el contenido de una tabla de un documento Word en otra tabla de otro documento Word.

He conseguido abrir los dos documentos de Word a la vez y copiar una tabla, pero cuando intento pegar la información, lo hace en el documento original, con lo que me salen las mismas celdas de la tabla dos veces.

Os dejo una copia del código que estoy utilizando por si le podéis echar un vistazo y me podéis decir qué estoy haciendo mal:


Código Delphi [-]
 
WordApplication1.ShowMe;
AvanceDoc := WordApplication1.Documents.Open(AvanceFile, EmptyParam, EmptyParam, 
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, 
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
InformeDoc := WordApplication1.Documents.Open(InformeFile, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
for I := 1 to AvanceDoc.Tables.Count do begin
// Seleccionamos la tabla
AvanceTable := AvanceDoc.Tables.Item(i);
// Para todas las columnas
for j := 0 to AvanceTable.Columns.Count - 1 do
begin
for k := 0 to AvanceTable.Rows.Count - 1 do
begin
AvanceTable.Cell(k, j).Select; // Fila, Columna
WordApplication1.Selection.Copy; // Copiamos el texto al portapapeles
InformeDoc.Activate;
InformeTable := InformeDoc.Tables.Item(i);
InformeTable.Cell(k, j).Select;
InformeTable.Cell(k, j).Range.Paste; // Copiamos el contenido del portapapeles en la celda nueva.
end;
end;
end;
WordApplication1.ShowMe;
SaveChanges := wdDoNotSaveChanges;
WordApplication1.Quit(SaveChanges, EmptyParam, EmptyParam);


La franja horaria es GMT +2. Ahora son las 00:09:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi