Olá, 

Sempre tive esta rotina no delphi e sempre funcionou para o word 2003 , mas 
como foi instalado o word2007 na maquina ela não esta funcionando corretamente 
, ela abre o word mas não faz à alteração que foi passada. Por favor que sober 
como resolve esta situação, 
desde ja agradeço segue abaixo a rotina. 


ADocument = Caminho do documento 
SearchString = pesquisar o local onde deve ser alterada 
ReplaceString = informação a ser alterada 


ReplaceString: string; Flags: TWordReplaceFlags): Boolean; 
const wdFindContinue = 1; 
wdReplaceOne = 1; 
wdReplaceAll = 2; 
wdDoNotSaveChanges = 0; 
var WordApp: OLEVariant; 
begin 
Result := False; 
if not FileExists(ADocument) then begin 
ShowMessage('O Documento '+ADocument+' não foi encontrado!'); 
Exit; 
end; 

try 
WordApp := CreateOLEObject('Word.Application'); 
except 
on E: Exception do 
begin 
E.Message := 'Instale o Microsoft Word!'; 
raise; 
end; 
end; 

try 
WordApp.Visible := False; 
WordApp.Documents.Open(ADocument); 
WordApp.Selection.Find.ClearFormatting; 
WordApp.Selection.Find.Text := SearchString; 
WordApp.Selection.Find.Replacement.Text := ReplaceString; 
WordApp.Selection.Find.Forward := True; 
WordApp.Selection.Find.Wrap := wdFindContinue; 
WordApp.Selection.Find.Format := False; 
WordApp.Selection.Find.MatchCase := wrfMatchCase in Flags; 
WordApp.Selection.Find.MatchWholeWord := False; 
WordApp.Selection.Find.MatchWildcards := wrfMatchWildcards in Flags; 
WordApp.Selection.Find.MatchSoundsLike := False; 
WordApp.Selection.Find.MatchAllWordForms := False; 
if wrfReplaceAll in Flags then 
WordApp.Selection.Find.Execute(Replace := wdReplaceAll) 
else 
WordApp.Selection.Find.Execute(Replace := wdReplaceOne); 
WordApp.ActiveDocument.SaveAs(ADocument); 
Result := True; 
WordApp.ActiveDocument.Close(wdDoNotSaveChanges); 
finally 
WordApp.Quit; 
WordApp := Unassigned; 
end; 
end;


      Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua 
cara @ymail.com ou @rocketmail.com.
http://br.new.mail.yahoo.com/addresses

[As partes desta mensagem que não continham texto foram removidas]

Responder a