ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Dados de um DBGrid para criar uma tabela um doc Word

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
alpherg
Novato
Novato


Registrado: Quarta-Feira, 16 de Agosto de 2017
Mensagens: 63

MensagemEnviada: Sáb Fev 08, 2020 11:36 pm    Assunto: Dados de um DBGrid para criar uma tabela um doc Word Responder com Citação

estou tentando inserir uma tabela que seus dados saem de um DBGRID para um documento especifico em Word mas todas as vezes que tento criar a tabela atraves dos dados de um DBGRID, o maximo que consigo é criar outro documento com os dados do DBGRID. Esse é o codigo que estou usando:

Código:
procedure TForm1.Button1Click(Sender: TObject);
var
x :integer ;
y: integer ;
//Word : Olevariant ;
Word : variant ;
WDoc: variant;
GColCount : integer ;
GRowCount : integer;
FormatNum: integer;

begin
Word := CreateOLEobject('Word.Application') ;
Word.Documents.open('C:\tabela.docx');
Word.Visible := True ;
Word.Documents.Add ;
GColCount := dbgrid2.Columns.Count ;
GRowCount := dbgrid2.DataSource.DataSet.RecordCount ;
Word.ActiveDocument.Range.Font.Size := dbgrid2.Font.Size;
Word.ActiveDocument.PageSetup.Orientation := 1 ;
Word.ActiveDocument.Tables.Add( Word.ActiveDocument.Range,GRowCount+1,GColCount);
Word.ActiveDocument.Range.InsertAfter('Date ' + Datetimetostr(Now));
Word.ActiveDocument.Range.Tables.Item(1).AutoFormat(FormatNum,1,1,1,1,1,0,0,0,1);
      @44Tabela
for y := 1 to GColCount
    do Word.ActiveDocument.Tables.Item(1).Cell(1,y).Range.InsertAfter(dbgrid2.Columns[y-1].Title.Caption) ;

x :=1 ;
with dbgrid2.DataSource.DataSet  do begin
     First ;
     while not Eof do begin
     x := x + 1 ;
     for y := 1 to GColCount
         do Word.ActiveDocument.Tables.Item(1).Cell(x,y).Range.InsertAfter(FieldByName(dbgrid2.Columns[y-1].FieldName).Asstring);
     Next ;
                 end;
                                 end;
Word.ActiveDocument.Range.Tables.Item(1).UpdateAutoFormat ;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB