Ola Edmilson as rotinas abaixo teem me ajudado muito elas abrem o word, 
procuram uma string e troca por outra como se fosse uma mala direta e 
fecha o Word, isso sem mostrar que o word está em uso atraves do 
visible = false e veja o link abaixo ele que e muito bom sobre esse 
assunto:

http://www.swissdelphicenter.ch/torry/objekte.php

Rotinas Funcionam em delphi 6 3 7 

uses ComObj

function Word_StringReplace(SearchString, ReplaceString: string; Flags: 
TWordReplaceFlags): Boolean;
begin
  Result := False;
  try
    { Initialize parameters}
    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;
    { Perform the search}
    if wrfReplaceAll in Flags then
      WordApp.Selection.Find.Execute(Replace := wdReplaceAll)
    else
      WordApp.Selection.Find.Execute(Replace := wdReplaceOne);
    Result := True;
  finally
  end;
end;


procedure TfrmNFs.AbreWord(ADocument: TFileName);
begin
  { Check if file exists }
  if not FileExists(ADocument) then
    begin
      ShowMessage('Documento não encontrado.');
      Exit;
    end;
  { Create the OLE Object }
  try
    WordApp := CreateOLEObject('Word.Application');
  except
    on E: Exception do
    begin
      E.Message := 'Word não está disponível.';
      raise;
    end;
  end;

  try
    { Hide Word }
    WordApp.Visible := False;
    { Open the document }
    WordApp.Documents.Open(ADocument);
  finally
  end;
end;

procedure TfrmNFs.FechaWord(ASaveName: TFileName);
begin
  try
    { Save word }
    WordApp.ActiveDocument.SaveAs(ASaveName);
    { Assume that successful }
    { Close the document }
    WordApp.ActiveDocument.Close(wdDoNotSaveChanges);
  finally
    { Quit Word }
    WordApp.Quit;
    WordApp := Unassigned;
  end;
end;


--- Em delphi-br@yahoogrupos.com.br, Edmilson Pontes 
<[EMAIL PROTECTED]> escreveu
> Colegas,
> Fiz uma rotina para alterar o texto de um arquivo do
> word e "salvar como". Até aí tudo bem.
> Agora preciso imprimir o arquivo mas sem abri-lo.
> Apena mandar para a impressora.
> Alguem sabe como faço? Gostaria de deixar o usuário
> escolher a impressora. É possível?
> 
> Desde já agradeço qualquer ajuda,
> 
> Edmilson Pontes
> 
> __________________________________________________
> Converse com seus amigos em tempo real com o Yahoo! Messenger 
> http://br.download.yahoo.com/messenger/




-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a