Fórum Substituir texto no word via delphi #168407

08/07/2003

0

Gostaria de saber como substituir um texto de uma célula no word por outro texto via ole ?

Para inserir um texto em uma célula específica da tabela é :

Var
Word, Contrato, Doc : Variant;
begin
Cursor := crHourGlass;
Word := CreateOleObject(´Word.Application´);
Word.Visible := True;
Contrato := Word.Documents;
Doc := Contrato.Open(´C:\Startway\Teste.doc´);
Doc.Tables.Item(1).Cell(2,3).Range.Replace(´x´);
end;

Agora quero pegar o que está na célula(2,3) e substituir por [b:d20087e95b]w[/b:d20087e95b].

Obrigado.


Andreyrf

Andreyrf

Responder

Posts

08/07/2003

Aroldo Zanela

Colega,

Baseado no seu código, acredito que o exemplo abaixo será suficiente:

1
2
3
4
5
6
7
8
  Word2k := CrieObjeto(´Word.Application´);
  Doc := Word2k.Documents.Open(´c:\dados\factoring\contrato de factoring.doc´);
 
  // Contratante
  Doc.Content.Find.Execute(FindText := ´@01´, ReplaceWith := tbCadastroCED_NOME.Value);
.
.
.



Responder

Gostei + 0

13/06/2006

Jats

[quote:ea7dfb4d9d=´Aroldo Zanela´]Colega,

Baseado no seu código, acredito que o exemplo abaixo será suficiente:

1
2
3
4
5
6
7
8
  Word2k := CrieObjeto(´Word.Application´);
  Doc := Word2k.Documents.Open(´c:\dados\factoring\contrato de factoring.doc´);
 
  // Contratante
  Doc.Content.Find.Execute(FindText := ´@01´, ReplaceWith := tbCadastroCED_NOME.Value);
.
.
.
[/quote:ea7dfb4d9d]

Aroldo

Pesquisando sobre esse assunto encontrei essa sua dica aqui no Forum. Por sinal excelente dica, funcionando legal.
No caso de ter essa mesma variável (p. ex. @01) em mais de um local do texto como fazer para substituir todas, sem repetir o comando?
Pelo word voce pode substituir só uma variável ou em todos os lugares (substituir tudo). Isso porque as vezes uma variável, o nome por ex., pode aparecer em mais de um lugar no contrato.
Grato pelo auxilio.


Responder

Gostei + 0

16/11/2006

Yallebr

sobe


Responder

Gostei + 0

16/11/2006

Martins

sobe


Onde for encontrada a String, ela será substituída.

1
Doc.Content.Find.Execute(FindText := ´@01´, ReplaceWith := tbCadastroCED_NOME.Value);


No caso a string é @01, ela será substituída em qualquer parte do texto, se houver 5, todas cinco serão substituídas.


Responder

Gostei + 0

22/02/2007

Mzacca

Caros amigos, sera q algum de vcs poderiam postar a rotina completa de como substituir uma certa string em um documento do word via delphi


agradeço desde ja t+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar