EXEMPLO DE SUBSTITUIÇÃO DE DADOS DO WORD VIA DELPHI XE4
Bom dia.
Preciso com urgencia de um pequeno exemplo de um documento que possa ser gerado pelo delphi no word.
No word criei um documento com as variaves: @nome, @endereco, etc, salvo em c:\exemplo.docx.
Criei os edits no delphi referente a cada variável criada no word.
preciso de uma rotina que substitua as variaveis do word e abra um novo documento com os dados ja substituídos.
Por favor, me ajudem aí.
Preciso com urgencia de um pequeno exemplo de um documento que possa ser gerado pelo delphi no word.
No word criei um documento com as variaves: @nome, @endereco, etc, salvo em c:\exemplo.docx.
Criei os edits no delphi referente a cada variável criada no word.
preciso de uma rotina que substitua as variaveis do word e abra um novo documento com os dados ja substituídos.
Por favor, me ajudem aí.
Clecio Alves
Curtidas 0
Melhor post
Paulo Freire
15/09/2014
Achei esse código, ve se serve pra ti.
procedure TForm_CPR.ImprimeCarta;
var
Doc: Variant;
NomeCarta : string;
begin
try
VelhoWord:=AdiquiraOuCrieObjeto('Word.Basic');
NovoWord :=AdiquiraOuCrieObjeto('Word.Application');
// Tornar o word visivel
NovoWord.Visible := True;
// Abrir arquivo para edição
NomeCarta := ComboBoxCartas.Text;
Doc := NovoWord.Documents.Open(ExtractFilePath(Application.ExeName) + '\DataBase\Doctos\' + NomeCarta + '.doc');
// Substituir itens do arquivo por texto escolhido
Doc.Content.Find.Execute(FindText := 'wID', ReplaceWith := DBE_ID.Text);
Doc.Content.Find.Execute(FindText := 'wNOME', ReplaceWith := PrimeiraLetraMaiscula(LowerCase(DBE_NOME.Text)));
Doc.Content.Find.Execute(FindText := 'wENDERECO_MEMBRO', ReplaceWith := DBE_ENDERECO.Text);
Doc.Content.Find.Execute(FindText := 'wDATA_ANIVERSARIO', ReplaceWith := JvDBDateEditDATA_NASC.Date);
Doc.Content.Find.Execute(FindText := 'wDATA_HOJE', ReplaceWith := Date);
Doc.Content.Find.Execute(FindText := 'wESTADO_CIVIL', ReplaceWith := DBComboBoxEstadoCivil.Text);
Doc.Content.Find.Execute(FindText := 'wTRATAMENTO', ReplaceWith := DBLookupComboTratamento.Text);
Doc.Content.Find.Execute(FindText := 'wDATA_REGISTRO', ReplaceWith := JvDBDateEditDATA_BATISMO.Text);
Doc.Content.Find.Execute(FindText := 'wRG', ReplaceWith := DBE_RG.Text);
Doc.Content.Find.Execute(FindText := 'wCPF', ReplaceWith := JvDBMaskEditCPF.Text);
Doc.Content.Find.Execute(FindText := 'wCONJUGE', ReplaceWith := PrimeiraLetraMaiscula(LowerCase(DBE_NOME_CONJUGE.Text)));
//Salvar Documento
Doc.SaveAs(ExtractFilePath(Application.ExeName) + '\DataBase\Doctos\' + NomeCarta + '_Ultimo_Salvo.doc');
if Application.MessageBox('Deseja Imprimir este documento ?','Confirmação',MB_ICONQUESTION+MB_YESNO)=MRYes then
Doc.PrintOut(false);
// Fechar
NovoWord.Quit;
finally
end;
procedure TForm_CPR.ImprimeCarta;
var
Doc: Variant;
NomeCarta : string;
begin
try
VelhoWord:=AdiquiraOuCrieObjeto('Word.Basic');
NovoWord :=AdiquiraOuCrieObjeto('Word.Application');
// Tornar o word visivel
NovoWord.Visible := True;
// Abrir arquivo para edição
NomeCarta := ComboBoxCartas.Text;
Doc := NovoWord.Documents.Open(ExtractFilePath(Application.ExeName) + '\DataBase\Doctos\' + NomeCarta + '.doc');
// Substituir itens do arquivo por texto escolhido
Doc.Content.Find.Execute(FindText := 'wID', ReplaceWith := DBE_ID.Text);
Doc.Content.Find.Execute(FindText := 'wNOME', ReplaceWith := PrimeiraLetraMaiscula(LowerCase(DBE_NOME.Text)));
Doc.Content.Find.Execute(FindText := 'wENDERECO_MEMBRO', ReplaceWith := DBE_ENDERECO.Text);
Doc.Content.Find.Execute(FindText := 'wDATA_ANIVERSARIO', ReplaceWith := JvDBDateEditDATA_NASC.Date);
Doc.Content.Find.Execute(FindText := 'wDATA_HOJE', ReplaceWith := Date);
Doc.Content.Find.Execute(FindText := 'wESTADO_CIVIL', ReplaceWith := DBComboBoxEstadoCivil.Text);
Doc.Content.Find.Execute(FindText := 'wTRATAMENTO', ReplaceWith := DBLookupComboTratamento.Text);
Doc.Content.Find.Execute(FindText := 'wDATA_REGISTRO', ReplaceWith := JvDBDateEditDATA_BATISMO.Text);
Doc.Content.Find.Execute(FindText := 'wRG', ReplaceWith := DBE_RG.Text);
Doc.Content.Find.Execute(FindText := 'wCPF', ReplaceWith := JvDBMaskEditCPF.Text);
Doc.Content.Find.Execute(FindText := 'wCONJUGE', ReplaceWith := PrimeiraLetraMaiscula(LowerCase(DBE_NOME_CONJUGE.Text)));
//Salvar Documento
Doc.SaveAs(ExtractFilePath(Application.ExeName) + '\DataBase\Doctos\' + NomeCarta + '_Ultimo_Salvo.doc');
if Application.MessageBox('Deseja Imprimir este documento ?','Confirmação',MB_ICONQUESTION+MB_YESNO)=MRYes then
Doc.PrintOut(false);
// Fechar
NovoWord.Quit;
finally
end;
GOSTEI 1
Mais Respostas
Clecio Alves
04/09/2014
Uso o delphi 2010 e xe6, ambos não reconhecem o comando Doc.Content.Find.Execute(FindText.
Por favor, preciso muito fazer esse formulário.
consegui fazer o vb.net, mas quero fazer no delphi.
Um programador experiente em delphi poderia me ajudar?
Quero fazer uma declaração, tipo: Eu, @declarante, portador da cedula de identidade nº @identidade e por aí vai...
quando clicar no botão gerar, essas variáveis criadas no word, posse substituídas pelo texto feito no delphi.
Volto a repetir, Uso o delphi 2010 e xe6, ambos não reconhecem o comando Doc.Content.Find.Execute(FindText.
Atenciosamente; Clecio
Por favor, preciso muito fazer esse formulário.
consegui fazer o vb.net, mas quero fazer no delphi.
Um programador experiente em delphi poderia me ajudar?
Quero fazer uma declaração, tipo: Eu, @declarante, portador da cedula de identidade nº @identidade e por aí vai...
quando clicar no botão gerar, essas variáveis criadas no word, posse substituídas pelo texto feito no delphi.
Volto a repetir, Uso o delphi 2010 e xe6, ambos não reconhecem o comando Doc.Content.Find.Execute(FindText.
Atenciosamente; Clecio
GOSTEI 0
Marcos Saffran
04/09/2014
Bom dia Clecio,
testei no meu delphi xe2 e verifiquei que deve-se inserir na uses o "WordXP".
testei no meu delphi xe2 e verifiquei que deve-se inserir na uses o "WordXP".
GOSTEI 0
Deivison Melo
04/09/2014
Conseguiu evoluir com as orientações passadas?
GOSTEI 0
Clecio Alves
04/09/2014
Ainda nao consegui.
Coloquei na uses "wordxp", conforme orientação do Marcos Alfredo, mas continua sem reconhecer o comando.
Gente, eu preciso de um exemplo de apenas uma linha de substituição.
como por exemplo no word: @nome
no delphi os comandos que substitua essa variável e mostre em outro documento.
mas no delphi 2010 ou XE6 não funfa.
Ja revirei a internet de cabeça pra baixo e não encontrei.
Atenciosamente; Clécio
Coloquei na uses "wordxp", conforme orientação do Marcos Alfredo, mas continua sem reconhecer o comando.
Gente, eu preciso de um exemplo de apenas uma linha de substituição.
como por exemplo no word: @nome
no delphi os comandos que substitua essa variável e mostre em outro documento.
mas no delphi 2010 ou XE6 não funfa.
Ja revirei a internet de cabeça pra baixo e não encontrei.
Atenciosamente; Clécio
GOSTEI 0
Marcos Saffran
04/09/2014
Bom dia Clecio,
continua sem reconhecer o comando como? Dá erro ou fica sublinhado de vermelho? Pois no meu fica sublinhado, mas compila e executa normalmente.
var
MSWord : Variant;
begin
MSWord := CreateOleObject('Word.Application');
MSWord.Documents.Open(ExtractFilePath(Application.ExeName) + 'arquivo.docx');
MSWord.Visible := True;
MSWord.ActiveDocument.Content.Find.Execute(FindText := '<%NOMECOMPLETO%>', ReplaceWith := edNomeContratante.Text, Replace := 2);
end;
Esse é um pedaço do programa que está funcionando no XE2 com word 2010, espero que ajude.
continua sem reconhecer o comando como? Dá erro ou fica sublinhado de vermelho? Pois no meu fica sublinhado, mas compila e executa normalmente.
var
MSWord : Variant;
begin
MSWord := CreateOleObject('Word.Application');
MSWord.Documents.Open(ExtractFilePath(Application.ExeName) + 'arquivo.docx');
MSWord.Visible := True;
MSWord.ActiveDocument.Content.Find.Execute(FindText := '<%NOMECOMPLETO%>', ReplaceWith := edNomeContratante.Text, Replace := 2);
end;
Esse é um pedaço do programa que está funcionando no XE2 com word 2010, espero que ajude.
GOSTEI 0
Clecio Alves
04/09/2014
Quero agradecer a todos que me ajudaram nessa dúvida.
Consegui da seguinte forma:
No evento onclic do button:
var
findtext:string;
ReplaceWith:string;
Replace:string;
WApp: variant; // variável associada ao aplicativo Microsoft Word
WDoc: variant; // variável associada ao documento criado no Word
path: string;
begin
// verifica se o Microsoft Word já está aberto
if (VarIsEmpty(WApp))
then WApp := CreateOleObject('Word.Application');
path := ExtractFilePath(Application.ExeName);
// cria um documento no Word a partir do modelo do recibo
WDoc := WApp.Documents.open('C:\documentos\residencia3.dot');
WApp.Visible := True;
//Substitui os dados no word
wdoc.Content.Find.Execute(FindText := '@nome', ReplaceWith := edtnome.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@endereco', ReplaceWith := edtendereco.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@bairro', ReplaceWith := edtbairro.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@cidade', ReplaceWith := edtcidade.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@rg', ReplaceWith := edtrg.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@cpf', ReplaceWith := edtcpf.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@inquilino', ReplaceWith := edtinquilino.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@rg2', ReplaceWith := edtrg2.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@edtcpf2', ReplaceWith := edtcpf2.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@data', ReplaceWith := data.Text, Replace := 2);
end;
end.
Atenciosamente; Clecio
Consegui da seguinte forma:
No evento onclic do button:
var
findtext:string;
ReplaceWith:string;
Replace:string;
WApp: variant; // variável associada ao aplicativo Microsoft Word
WDoc: variant; // variável associada ao documento criado no Word
path: string;
begin
// verifica se o Microsoft Word já está aberto
if (VarIsEmpty(WApp))
then WApp := CreateOleObject('Word.Application');
path := ExtractFilePath(Application.ExeName);
// cria um documento no Word a partir do modelo do recibo
WDoc := WApp.Documents.open('C:\documentos\residencia3.dot');
WApp.Visible := True;
//Substitui os dados no word
wdoc.Content.Find.Execute(FindText := '@nome', ReplaceWith := edtnome.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@endereco', ReplaceWith := edtendereco.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@bairro', ReplaceWith := edtbairro.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@cidade', ReplaceWith := edtcidade.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@rg', ReplaceWith := edtrg.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@cpf', ReplaceWith := edtcpf.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@inquilino', ReplaceWith := edtinquilino.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@rg2', ReplaceWith := edtrg2.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@edtcpf2', ReplaceWith := edtcpf2.Text, Replace := 2);
wdoc.Content.Find.Execute(FindText := '@data', ReplaceWith := data.Text, Replace := 2);
end;
end.
Atenciosamente; Clecio
GOSTEI 0
Janilto Oliveira
04/09/2014
Achei esse código, ve se serve pra ti.
procedure TForm_CPR.ImprimeCarta;
var
Doc: Variant;
NomeCarta : string;
begin
try
VelhoWord:=AdiquiraOuCrieObjeto('Word.Basic');
NovoWord :=AdiquiraOuCrieObjeto('Word.Application');
// Tornar o word visivel
NovoWord.Visible := True;
// Abrir arquivo para edição
NomeCarta := ComboBoxCartas.Text;
Doc := NovoWord.Documents.Open(ExtractFilePath(Application.ExeName) + '\\DataBase\\Doctos\\' + NomeCarta + '.doc');
// Substituir itens do arquivo por texto escolhido
Doc.Content.Find.Execute(FindText := 'wID', ReplaceWith := DBE_ID.Text);
Doc.Content.Find.Execute(FindText := 'wNOME', ReplaceWith := PrimeiraLetraMaiscula(LowerCase(DBE_NOME.Text)));
Doc.Content.Find.Execute(FindText := 'wENDERECO_MEMBRO', ReplaceWith := DBE_ENDERECO.Text);
Doc.Content.Find.Execute(FindText := 'wDATA_ANIVERSARIO', ReplaceWith := JvDBDateEditDATA_NASC.Date);
Doc.Content.Find.Execute(FindText := 'wDATA_HOJE', ReplaceWith := Date);
Doc.Content.Find.Execute(FindText := 'wESTADO_CIVIL', ReplaceWith := DBComboBoxEstadoCivil.Text);
Doc.Content.Find.Execute(FindText := 'wTRATAMENTO', ReplaceWith := DBLookupComboTratamento.Text);
Doc.Content.Find.Execute(FindText := 'wDATA_REGISTRO', ReplaceWith := JvDBDateEditDATA_BATISMO.Text);
Doc.Content.Find.Execute(FindText := 'wRG', ReplaceWith := DBE_RG.Text);
Doc.Content.Find.Execute(FindText := 'wCPF', ReplaceWith := JvDBMaskEditCPF.Text);
Doc.Content.Find.Execute(FindText := 'wCONJUGE', ReplaceWith := PrimeiraLetraMaiscula(LowerCase(DBE_NOME_CONJUGE.Text)));
//Salvar Documento
Doc.SaveAs(ExtractFilePath(Application.ExeName) + '\\DataBase\\Doctos\\' + NomeCarta + '_Ultimo_Salvo.doc');
if Application.MessageBox('Deseja Imprimir este documento ?','Confirmação',MB_ICONQUESTION+MB_YESNO)=MRYes then
Doc.PrintOut(false);
// Fechar
NovoWord.Quit;
finally
end;
procedure TForm_CPR.ImprimeCarta;
var
Doc: Variant;
NomeCarta : string;
begin
try
VelhoWord:=AdiquiraOuCrieObjeto('Word.Basic');
NovoWord :=AdiquiraOuCrieObjeto('Word.Application');
// Tornar o word visivel
NovoWord.Visible := True;
// Abrir arquivo para edição
NomeCarta := ComboBoxCartas.Text;
Doc := NovoWord.Documents.Open(ExtractFilePath(Application.ExeName) + '\\DataBase\\Doctos\\' + NomeCarta + '.doc');
// Substituir itens do arquivo por texto escolhido
Doc.Content.Find.Execute(FindText := 'wID', ReplaceWith := DBE_ID.Text);
Doc.Content.Find.Execute(FindText := 'wNOME', ReplaceWith := PrimeiraLetraMaiscula(LowerCase(DBE_NOME.Text)));
Doc.Content.Find.Execute(FindText := 'wENDERECO_MEMBRO', ReplaceWith := DBE_ENDERECO.Text);
Doc.Content.Find.Execute(FindText := 'wDATA_ANIVERSARIO', ReplaceWith := JvDBDateEditDATA_NASC.Date);
Doc.Content.Find.Execute(FindText := 'wDATA_HOJE', ReplaceWith := Date);
Doc.Content.Find.Execute(FindText := 'wESTADO_CIVIL', ReplaceWith := DBComboBoxEstadoCivil.Text);
Doc.Content.Find.Execute(FindText := 'wTRATAMENTO', ReplaceWith := DBLookupComboTratamento.Text);
Doc.Content.Find.Execute(FindText := 'wDATA_REGISTRO', ReplaceWith := JvDBDateEditDATA_BATISMO.Text);
Doc.Content.Find.Execute(FindText := 'wRG', ReplaceWith := DBE_RG.Text);
Doc.Content.Find.Execute(FindText := 'wCPF', ReplaceWith := JvDBMaskEditCPF.Text);
Doc.Content.Find.Execute(FindText := 'wCONJUGE', ReplaceWith := PrimeiraLetraMaiscula(LowerCase(DBE_NOME_CONJUGE.Text)));
//Salvar Documento
Doc.SaveAs(ExtractFilePath(Application.ExeName) + '\\DataBase\\Doctos\\' + NomeCarta + '_Ultimo_Salvo.doc');
if Application.MessageBox('Deseja Imprimir este documento ?','Confirmação',MB_ICONQUESTION+MB_YESNO)=MRYes then
Doc.PrintOut(false);
// Fechar
NovoWord.Quit;
finally
end;
Voce pode me dar mais detalhes de como implementar esse codigo ? to usando ele pra um software que to fazendo pra Igreja e parece ser exatamente o que preciso.
No meu projeto veja a lista do que ja fiz:
Cadastro de Usuários com level de acesso
Cadastros de Membros
Cadastro de Hierarquia Membro / Presbítero / Diácono / Pastor etc..
Cadastro de Dízimos
cadastro de Bens
Falta fazer :
Cadastro de saídas
Sistema de carteiras e crachás
Sistema de Cartas
Capturar foto com Webcam
GOSTEI 0
Eduardo Silva
04/09/2014
Boa tarde!
Clecio Alves
eu procurei muito para fazer isso no Delphi Xe 7 e 8 e 10 e 10.1
e aqui funciona comigo veja se serve para você segue o exemplo
Vou dividir o código por que não cabe...
Clecio Alves
eu procurei muito para fazer isso no Delphi Xe 7 e 8 e 10 e 10.1
e aqui funciona comigo veja se serve para você segue o exemplo
Vou dividir o código por que não cabe...
procedure TfrmConsultas.FindAndReplace;
var Doc: Variant;
begin
Doc:= OleContainer.OleObject;
// Se veio de uma nova Publicação de Cliente ou de Processos os dados do
// Cliente já estão no ponteiro da tabela
if vOpcaoMenu = 'PROCESSOS-Consultas' then
begin
DataModuleGeral.tbProcessosConsulta.Locate('NUMERO_PROCESSO',DataModuleGeral.tbProcessosNUMERO_PROCESSO.AsInteger,[]);
DataModuleGeral.tbClientesConsulta.Locate('COD_CLIENTE',DataModuleGeral.tbProcessosCOD_CLIENTE.AsInteger,[]);
end else
if vOpcaoMenu = 'CLIENTES-Consultas' then
begin
DataModuleGeral.tbClientesConsulta.Locate('COD_CLIENTE',DataModuleGeral.tbClientesCOD_CLIENTE.AsInteger,[]);
if dbeNumeroProcesso.Text <> '' then
DataModuleGeral.tbProcessosConsulta.Locate('NUMERO_PROCESSO', dbeNumeroProcesso.Text, []);
end;
DataModuleGeral.tbCidadesConsulta.Locate('CEP_LOGRADOURO',DataModuleGeral.tbClientesConsultaCEP.AsString,[]);
// o Bloco de Abaixo faz a troca de um Caracter no Ms Word pela palavrea que
// deseja subistituir.
{
// Paramentos do Comando Execute. *Valor retornado Boolean
Doc.Content.Find.Execute(// FindText - Opcional - Variant - O texto a ser localizado.
EmptyParam,
// MatchCase - Opcional - Variant - "True" para especificar que o texto da pesquisa diferencia maiúsculas de minúsculas.
EmptyParam,
// MatchWholeWord - Opcional - Variant - "True" para que a operação "localizar" obtenha somente palavras inteiras.
EmptyParam,
// MatchWildcards - Opcional - Variant - "True" para que localizar texto seja um operador especial de pesquisa.
EmptyParam,
// MatchSoundsLike - Opcional - Variant - "True" para que a operação de localizar obtenha palavras semelhantes ao texto de localização.
EmptyParam,
// MatchAllWordForms - Opcional - Variant - "True" para que a operação "localizar" obtenha todas as formas de localizar texto (por exemplo, "sentar" localiza "sentado" e "sentou").
EmptyParam,
// Forward - Opcional - Variant - "True" para procurar (até o fim do documento).
EmptyParam,
// Wrap - Opcional - Variant - Controla o que acontece se a pesquisa começar em um ponto que não seja o início do documento e o fim do documento for atingido (ou vice-versa se o encaminhamento estiver definido como False).
EmptyParam,
// Format - Opcional - Variant - True para que a operação "localizar" obtenha formatação além de, ou em vez de, localizar texto.
EmptyParam,
// ReplaceWith - Opcional - Variant - O texto de substituição. Para excluir o texto especificado pelo argumento Find, use uma cadeia vazia ("").
EmptyParam,
// Replace - Opcional - Variant - Especifica quantas substituições devem ser feitas: uma, todas ou nenhuma. Pode ser qualquer constante WdReplace.
EmptyParam,
// MatchKashida - Opcional - Variant - "True" se as operações de localização coincidirem texto com kashidas em um documento do idioma árabe.
EmptyParam,
// MatchDiacritics - Opcional - Variant - "True" se as operações de localização coincidirem texto com diacrítico em um documento da direita para a esquerda.
EmptyParam,
// MatchAlefHamza - Opcional - Variant - "True" se as operações de localização coincidirem texto com Alef Hamzas em um documento do idioma árabe.
EmptyParam,
// MatchControl - Opcional - Variant - "True" se as operações de localização coincidirem texto com caracteres de controle bidirecional em um documento da direita para a esquerda.
EmptyParam);
}
GOSTEI 0
Eduardo Silva
04/09/2014
{ Dasos do Cliente }
// Nome do Cliente
Doc.Content.Find.Execute('@01', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,DataModuleGeral.tbClientesConsultaNOME_CLIENTE.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// Sexo
Doc.Content.Find.Execute('@02', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,DataModuleGeral.tbClientesConsultaSEXO.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// Tipo de Pessoao (Física/Jurídica)
Doc.Content.Find.Execute('@03', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,DataModuleGeral.tbClientesConsultaTIPO_PESSOA.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// Rede / Grupo de Clientes
Doc.Content.Find.Execute('@04', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,DataModuleGeral.tbClientesConsultaNOME_REDE_GRUPO.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// Endereço - Bairro
Doc.Content.Find.Execute('@05', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,DataModuleGeral.tbClientesConsultaENDERECO.Value +' - '+ DataModuleGeral.tbClientesBAIRRO.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// CEP
Doc.Content.Find.Execute('@06', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,DataModuleGeral.tbClientesConsultaCEP.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// Cidade
Doc.Content.Find.Execute('@07', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,DataModuleGeral.tbCidadesConsultaNOME_CIDADE.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// Unidade Federativa
Doc.Content.Find.Execute('@08', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,DataModuleGeral.tbCidadesConsultaUF.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// DDD + Telefone 01
Doc.Content.Find.Execute('@09', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,'('+DataModuleGeral.tbClientesConsultaFONE1_DDD.Value +') '+ DataModuleGeral.tbClientesConsultaFONE1_NUMERO.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// DDD + Telefone 01
Doc.Content.Find.Execute('@10', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,'('+DataModuleGeral.tbClientesConsultaFONE2_DDD.Value +') '+ DataModuleGeral.tbClientesConsultaFONE2_NUMERO.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// DDD + Telefone 01
Doc.Content.Find.Execute('@11', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,'('+DataModuleGeral.tbClientesConsultaFONE3_DDD.Value +') '+ DataModuleGeral.tbClientesConsultaFONE3_NUMERO.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// DDD + Telefone Fax
Doc.Content.Find.Execute('@12', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,'('+DataModuleGeral.tbClientesConsultaFONE_FAX_DDD.Value +') '+ DataModuleGeral.tbClientesConsultaFONE_FAX_NUMERO.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// Nome do Pai do Cliente
Doc.Content.Find.Execute('@13', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,DataModuleGeral.tbClientesConsultaNOME_PAI.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// Nome da Mãe do Cliente
Doc.Content.Find.Execute('@14', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,DataModuleGeral.tbClientesConsultaNOME_MAE.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// CPF / CNPJ
Doc.Content.Find.Execute('@15', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,DataModuleGeral.tbClientesConsultaCPF_OU_CNPJ.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// RG / IE
Doc.Content.Find.Execute('@16', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,DataModuleGeral.tbClientesConsultaRG_OU_INSCRICAO.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// CTPS
Doc.Content.Find.Execute('@17', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,DataModuleGeral.tbClientesConsultaCTPS_NUMERO.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// CTPS - Série
Doc.Content.Find.Execute('@18', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,DataModuleGeral.tbClientesConsultaCTPS_SERIE.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// Pis
Doc.Content.Find.Execute('@19', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,DataModuleGeral.tbClientesConsultaPIS.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
// Título de Eleitor
Doc.Content.Find.Execute('@20', EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,DataModuleGeral.tbClientesConsultaTITULO_ELEITOR.Value,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
if (Doc.ActiveWindow.ActivePane.View.type = 1) or
(Doc.ActiveWindow.ActivePane.View.type = 2) or
(Doc.ActiveWindow.ActivePane.View.type = 5) then
Doc.ActiveWindow.ActivePane.View.type := 3;
Essa parte do if eu não lembro o porque pois não lembro...
Veja se serve..
Espero ter Ajudado!
GOSTEI 0
Eduardo Silva
04/09/2014
Tem coisas a mais no Código mais você vera logo o que é interessante para você
GOSTEI 0