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 

Manipulação de caixa de texto no word via Delphi 7

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


Registrado: Quinta-Feira, 19 de Dezembro de 2019
Mensagens: 2

MensagemEnviada: Qui Dez 19, 2019 6:27 pm    Assunto: Manipulação de caixa de texto no word via Delphi 7 Responder com Citação

Boa noite.

Estou precisando manipular um documento no word via Delphi 7.
Mas a informação no word está numa caixa de texto, então o comando abaixo não está funcionando:
Doc.Content.Find.Execute(FindText := '#NOME_CLIENTE', ReplaceWith := 'TESTE', Replace := 2);
Alguém poderia me ajudar nesta questão?

Obrigada
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
strak2012
Colaborador
Colaborador


Registrado: Segunda-Feira, 13 de Janeiro de 2014
Mensagens: 1518
Localização: Maceió - AL

MensagemEnviada: Sex Dez 20, 2019 1:42 pm    Assunto: Responder com Citação

Código:
Doc.Content.Find.Execute(FindText := '#NOME_CLIENTE', ReplaceWith := 'TESTE', Replace := 2);


Deve haver um erro de logica ai neste trecho

acredito que seja alguma das opções abaixo:

Código:

Doc.Content.Find('#NOME_CLIENTE').Execute('TESTE', 2); // find localiza o componente #NOME_CLIENTE e dispara o método execute do próprio componente

Doc.Content.Find('#NOME_CLIENTE').Execute('TEXTO_ANTIGO','TESTE', 2);

Doc.Content.Find.Execute('#NOME_CLIENTE','TEXTO_ANTIGO','TESTE', 2);

Doc.Content.Find.Execute('#NOME_CLIENTE','TESTE', 2);


lembre que o componente pode não ser encontrado pelo nome ou id retornando nil assim não usaria ele desta forma e sim da seguinte forma:


Código:
comp:=Doc.Content.Find('#NOME_CLIENTE'); // tentando localizar o componente

if @comp<>nil then // se componente foi achado então o mesmo será diferente de nil
comp.Execute('TESTE', 2); // chamo o método execute pertencente ao componente


basta então saber o tipo de retorno de find para poder declarar comp com o mesmo tipo de dado.


":=" não rola em delphi onde se deva levar argumento veja exemplo

Código:
function soma(x,y:integer):integer;
begin
result:=x+y;
end;

{...}

var
x,y,z:integer;

begin
z:=soma(x:=10,y:=20); // erro na sua abordagem

// uma opção valida
z:=soma(10,20);

//outra opção valida
x:=10;
y:=20;
z:=soma(x,y);

{..}

_________________
Tudo podemos quando tudo sabemos!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
eubiafidelis
Novato
Novato


Registrado: Quinta-Feira, 19 de Dezembro de 2019
Mensagens: 2

MensagemEnviada: Sex Dez 20, 2019 5:56 pm    Assunto: Responder com Citação

Esse comando "Doc.Content.Find.Execute(FindText := '#NOME_CLIENTE', ReplaceWith := 'TESTE', Replace := 2);" funciona quando no word for somente um texto normal.
O meu problema é quando o texto está numa caixa de texto. O comando não encontra, então não substitui.

Mas blz, arrumei outra forma para contornar esse problema.
Obrigada
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