Fórum Substituir texto no Word dentro de uma Caixa de Texto. #382411
29/07/2010
0
Tenho uma aplicação usando Delphi2007, onde tenho um modelo de proposta de venda feito no word, minha aplicação lê esse modelo e gera um novo doc substituindo algumas TAGS.
Este modelo o próprio usuário cria. Sendo que ele possui a lista de TAGS disponíveis.
Estava tudo funcionando muito bem, até que um determinado usuário resolveu incluir algumas TAGS dentro de uma caixa de texto para melhor posiciona-las.
Acontece que dentro desta caixa de texto, a TAG não é substituída.
Basicamente o código que estou usando é o seguinte:
procedure TfrmImpProposta.GerarDoc(ArquivoOriginal, ArquivoNovo: String);
var
WinWord, docs : Variant;
begin
WinWord := CreateOleObject('Word.Application');
Docs := WinWord.Documents;
Docs := WinWord.Documents.Open(ArquivoOriginal);
Docs.Content.Find.Execute(FindText := '',
ReplaceWith := 'Claudia');
Docs.SaveAs(ArquivoNovo);
WinWord.Visible:= true;
end;
Se alguém puder me ajudar ficaria muito grata.
Cláudia
Claudia Oliveira
Curtir tópico
+ 0Post mais votado
29/07/2010
for i := 1 to WinWord.ActiveDocument.Shapes.Count do begin WinWord.ActiveDocument.Shapes.Item(i).TextFrame.TextRange.find.Execute(FindText := '<NOME-CLIENTE>', ReplaceWith := 'Claudia'); end;
Obrigada
Claudia Oliveira
Gostei + 1
Mais Posts
29/07/2010
Marcos Iwazaki
wordapp.selection.find.replacement.text := Seu_Texto; wordapp.selection.find.execute(replace := wdreplaceall);
qq dúvida é so perguntar
Tenho uma aplicação usando Delphi2007, onde tenho um modelo de proposta de venda feito no word, minha aplicação lê esse modelo e gera um novo doc substituindo algumas TAGS.
Este modelo o próprio usuário cria. Sendo que ele possui a lista de TAGS disponíveis.
Estava tudo funcionando muito bem, até que um determinado usuário resolveu incluir algumas TAGS dentro de uma caixa de texto para melhor posiciona-las.
Acontece que dentro desta caixa de texto, a TAG não é substituída.
Basicamente o código que estou usando é o seguinte:
procedure TfrmImpProposta.GerarDoc(ArquivoOriginal, ArquivoNovo: String);
var
WinWord, docs : Variant;
begin
WinWord := CreateOleObject('Word.Application');
Docs := WinWord.Documents;
Docs := WinWord.Documents.Open(ArquivoOriginal);
Docs.Content.Find.Execute(FindText := '',
ReplaceWith := 'Claudia');
Docs.SaveAs(ArquivoNovo);
WinWord.Visible:= true;
end;
Se alguém puder me ajudar ficaria muito grata.
Cláudia
Gostei + 0
29/07/2010
Claudia Oliveira
Gostei + 0
29/07/2010
Marcos Iwazaki
wordapp.selection.find.text := Seu_Texto; wordapp.selection.find.replacement.text := Seu_Texto_Para_Substituir; wordapp.selection.find.execute(replace := wdreplaceall);
Gostei + 0
29/07/2010
Claudia Oliveira
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)