Ver Mensaje Individual
  #1  
Antiguo 15-03-2009
hades2600 hades2600 is offline
Registrado
 
Registrado: nov 2007
Ubicación: España
Posts: 4
Reputación: 0
hades2600 Va por buen camino
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);
Responder Con Cita