Mala direta: Delphi (BD Access) + Word
06/10/2018
0
Oi, galera DevMedia
Estou quebrando a cabeça para fazer uma mala direta no Delphi 10 com BD Access integrado com o Word.
A ideia é preencher somente cabeçalhos das páginas com Nome, Matrícula e Foto.
Detalhe é que a impressão das páginas são em A4 e individualizadas para cada cadastrado selecionado por *grupo (*tabela relacionada)
Agora estão ocorrendo dois problemas cruciais. Um é inserir a foto automaticamente no espaço reservado e o outro é a quebra de página para ao gerar a impressão para o Word montem as páginas separadas uma abaixo da outra (individualizadas), tipo como no próprio mala direta feita no Word.
Aguardando alguma dica. Muito grata !
Estou quebrando a cabeça para fazer uma mala direta no Delphi 10 com BD Access integrado com o Word.
A ideia é preencher somente cabeçalhos das páginas com Nome, Matrícula e Foto.
Detalhe é que a impressão das páginas são em A4 e individualizadas para cada cadastrado selecionado por *grupo (*tabela relacionada)
Agora estão ocorrendo dois problemas cruciais. Um é inserir a foto automaticamente no espaço reservado e o outro é a quebra de página para ao gerar a impressão para o Word montem as páginas separadas uma abaixo da outra (individualizadas), tipo como no próprio mala direta feita no Word.
Aguardando alguma dica. Muito grata !
Milennia Maria
Curtir tópico
+ 0
Responder
Post mais votado
06/10/2018
Galera, vamos dar uma força aí. Qualquer dica serve.
Eu tenho aqui este script que garante inserir imagens no Word via Delphi.
Como sou aprendiz não sei muito bem onde encaixar esse código e atribuir alguma propriedade, não sei como fazer...
E aí, quem se habilita a incentivar alguma coisa ? Valeu !
MSWord:= CreateOleObject(´Word.Basic´);
MSWord.FileNew; //inicia um novo documento
{ Figura }
MSWord.InsertPicture(Caminho da imagem);
MsWord.Insert(#13);
MSWord.FileSaveAs(Arquivo, 0); //Salva o arquivo
MsWord.AppClose;
Eu tenho aqui este script que garante inserir imagens no Word via Delphi.
Como sou aprendiz não sei muito bem onde encaixar esse código e atribuir alguma propriedade, não sei como fazer...
E aí, quem se habilita a incentivar alguma coisa ? Valeu !
MSWord:= CreateOleObject(´Word.Basic´);
MSWord.FileNew; //inicia um novo documento
{ Figura }
MSWord.InsertPicture(Caminho da imagem);
MsWord.Insert(#13);
MSWord.FileSaveAs(Arquivo, 0); //Salva o arquivo
MsWord.AppClose;
Milennia Maria
Responder
Mais Posts
08/10/2018
Paulo Freire
Olá Milennia, agente já se conhece, rsrsrsr, vamos lá, crie um botão no seu form do Delphi.
procedure TfrmPrincipal.btnCriarClick(Sender: TObject);
var
Word: Olevariant;
begin
Path := ExtractFilePath(Application.ExeName);
Word := CreateOleObject('Word.Basic');
Word.Filenew;
Word.AppShow;
Word.Appmaximize;
Word.LeftPara;
Word.FontSize(36);
Word.Bold;
Word.Underline;
Word.FontSize(16);
Word.Insert(#13 + 'Four Freires Tecnologia');
Word.FontSize(12);
Word.Underline(false);
Word.Bold(false);
Word.Insert(#13 + 'Foto');
Word.Insertpicture(Path + 'fotos\\Matricula0001.jpg');
Word.Insert(#13'Matrícula: '#13);
Word.Insert(#13 + edtMatr.Text);
Word.Insert(#13'Nome: '+ edtNome.Text);
Word.Insert(#13'Grupo: '+ rgGrupo.Items);
end;
Declare no seu Var do Form
Word, Arquivo, Doc: OleVariant;
procedure TfrmPrincipal.btnCriarClick(Sender: TObject);
var
Word: Olevariant;
begin
Path := ExtractFilePath(Application.ExeName);
Word := CreateOleObject('Word.Basic');
Word.Filenew;
Word.AppShow;
Word.Appmaximize;
Word.LeftPara;
Word.FontSize(36);
Word.Bold;
Word.Underline;
Word.FontSize(16);
Word.Insert(#13 + 'Four Freires Tecnologia');
Word.FontSize(12);
Word.Underline(false);
Word.Bold(false);
Word.Insert(#13 + 'Foto');
Word.Insertpicture(Path + 'fotos\\Matricula0001.jpg');
Word.Insert(#13'Matrícula: '#13);
Word.Insert(#13 + edtMatr.Text);
Word.Insert(#13'Nome: '+ edtNome.Text);
Word.Insert(#13'Grupo: '+ rgGrupo.Items);
end;
Declare no seu Var do Form
Word, Arquivo, Doc: OleVariant;
Responder
Clique aqui para fazer login e interagir na Comunidade :)