PDA

Ver la Versión Completa : Insertar filas en Tabla(word)


Loviedo
16-04-2005, 00:48:46
Tengo una plantilla de Word con dos tablas y funciona bien al editar las celdas, pero no se como insertar nuevas filas en las tablas.
Uso delphi7 y WXP.
Gracias anticipadas.

var
Template,NewTemplate, Filename: OleVariant;
T: Table;
begin
NewTemplate := false;
WordApplication1.Connect;
WordApplication1.Visible := true;

filename := 'C:\Tartessos\Temp\Prueba.doc';
Template := 'C:\Tartessos\Temp\CURRICULUMVITAE.dot';

Doc.ConnectTo(WordApplication1.Documents.open(Template,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam));

T := Doc.Tables.Item(1);
T.Cell(1, 1).Range.Text := 'Presupuesto1';
T.Cell(1, 2).Range.Text := 'nombre1';
T.Cell(2, 1).Range.Text := 'Presupuesto2';
T.Cell(2, 2).Range.Text := 'nombre2';

T := Doc.Tables.Item(2);
T.Cell(1, 1).Range.Text := 'nombre3';
T.Cell(1, 2).Range.Text := 'unidad1';

Doc.saveas2000(filename);

WordApplication1.Disconnect;

Loviedo
18-04-2005, 20:57:07
ˇEncontré la respuesta!

nFilas: OleVariant;
nFilas := 3;
T := Doc.Tables.Item(1);
T.Select;
wordapplication1.Selection.InsertRowsBelow(nFilas);

matadamas
14-11-2007, 00:12:40
para complementar el ejemplo anterior que coloca una fila al final de la tabla, para insertar filas debajo de cualquier fila basta con colocarse en cualquier celda y ejecutar el mismo procedimiento InsertRowsBelow

//seleccionamos el Item de la tabla a la cual le queremos insertar las filas
T := WordDoc.Tables.Item(2);

//ahora nos colocamos en cualquier fila i
T2.Cell(i, 1).Range.Select;

//insertamos la fila
WordAPP.Selection.InsertRowsBelow(1);

:D