Saludos, Me explico, Después de poner patas arriba este foro, he encontrado la solución, pero solo me funciona con un registro,
(El código que encontré incluye crear una plantilla, crear las variables en el Documento y a traves de Delphi, asignarles el valor)
tengo una tabla en word, donde quiero insertar los registros de una tabla, imaginemos.
Nombre | Apellido | Pais
VarNombre VarApellido VarPais
Si tengo 5 registros en mi base de datos, como los agrego todos a esa tabla en word, he implementado códigos pero me salta el error de que ya la variable a la que le asigne el valor a sido utilizada, es decir solo me funciona con un registro, no con mas de uno, aquí va el código.
Código Delphi
[-]var
Word: Variant;
Documento: Variant;
begin
Try
Word := CreateOleObject('Word.Application');
Word.Documents.Add('C:\Nombres.dot');
Documento := Word.Documents.Item(1);
QReporte.First;
Documento.Variables.Add('Nombre', Qreporte.FieldByName('Nombre').AsString);
Documento.Variables.Add('Apellido',Qreporte.FieldByName('Apellido').AsString);
Documento.Variables.Add('Pais',Qreporte.FieldByName('Pais').AsString);
Documento.Fields.ToggleShowCodes;
Documento.Fields.Update;
Word.ActiveDocument.SaveAs('C:\documento.docx');
Word.Visible := true;
ShowMessage('Operación Completada!!');
except
on exception do
begin
Word.quit;
end;
end;
end;
Intente hacer esto y me da el error que mencioné:
Código Delphi
[-] if Qreporte.RecordCount>0 then
While Not Qreporte.Eof do
begin
Documento.Variables.Add('Nombre', Qreporte.FieldByName('Nombre').AsString);
Documento.Variables.Add('Apellido',Qreporte.FieldByName('Apellido').AsString);
Documento.Variables.Add('Pais',Qreporte.FieldByName('Pais').AsString);
Qreporte.Next;
end;
Gracias de Antemano
