Mala direta: Delphi (BD Access) + Word
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
Curtidas 0
Melhor post
Milennia Maria
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;
GOSTEI 1
Mais Respostas
Paulo Freire
06/10/2018
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;
GOSTEI 1