Substituir texto no word via delphi
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.
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
Curtidas 0
Respostas
Aroldo Zanela
08/07/2003
Colega,
Baseado no seu código, acredito que o exemplo abaixo será suficiente:
Baseado no seu código, acredito que o exemplo abaixo será suficiente:
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); . . .
GOSTEI 0
Jats
08/07/2003
[quote:ea7dfb4d9d=´Aroldo Zanela´]Colega,
Baseado no seu código, acredito que o exemplo abaixo será suficiente:
[/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.
Baseado no seu código, acredito que o exemplo abaixo será suficiente:
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); . . .
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.
GOSTEI 0
Yallebr
08/07/2003
sobe
GOSTEI 0
Martins
08/07/2003
sobe
Onde for encontrada a String, ela será substituída.
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.
GOSTEI 0
Mzacca
08/07/2003
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+
agradeço desde ja t+
GOSTEI 0