ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Arquivo {Word) está aberto?

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Lippi
Membro Junior
Membro Junior


Registrado: Terça-Feira, 25 de Novembro de 2008
Mensagens: 372

MensagemEnviada: Dom Set 01, 2019 11:36 am    Assunto: Arquivo {Word) está aberto? Responder com Citação

Senhores, bom dia.


Como faço para saber se um arquivo (do Word) está ABERTO:

No meu caso, o caminho é:
C:\Setor\SysLippi\Declarac\Declarac_11122233344.doc

Desde já, obrigado.
Lippi.
_________________
Longo e difícil é o caminho que, das trevas, nos leva à luz.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
anderbelluno
Mestre
Mestre


Registrado: Quarta-Feira, 23 de Novembro de 2011
Mensagens: 997
Localização: Cianorte-PR

MensagemEnviada: Dom Set 01, 2019 1:13 pm    Assunto: Responder com Citação

Código:

function IsFileInUse(FileName: TFileName): Boolean;
var
  HFileRes: THandle;
begin
  HFileRes := CreateFile(PChar(FileName),
                         GENERIC_READ or GENERIC_WRITE,
                         0,
                         nil,
                         OPEN_EXISTING,
                         FILE_ATTRIBUTE_NORMAL,
                         0);
  if (HFileRes <> INVALID_HANDLE_VALUE) then
  begin
    CloseHandle(HFileRes);
    Result := False;
  end else
    Result := (GetLastError() = ERROR_SHARING_VIOLATION);
end;

Credits,
Remy Lebeau.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Lippi
Membro Junior
Membro Junior


Registrado: Terça-Feira, 25 de Novembro de 2008
Mensagens: 372

MensagemEnviada: Dom Set 01, 2019 3:54 pm    Assunto: Sim, mas ... Responder com Citação

Anderbelluno, boa tarde.


OK. Deu certo.

Quais os comandos, porém, para abrir e para fechar o arquivo (word)?

Obrigado.
Lippi.
_________________
Longo e difícil é o caminho que, das trevas, nos leva à luz.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
anderbelluno
Mestre
Mestre


Registrado: Quarta-Feira, 23 de Novembro de 2011
Mensagens: 997
Localização: Cianorte-PR

MensagemEnviada: Seg Set 02, 2019 1:58 am    Assunto: Responder com Citação

Código:
function OpenWordFile(const FName: string): string;
var wordText: string;
begin
  openWord := CreateOleObject('Word.Application');
  openWord.Visible := False;
  openWord.Documents.Open(FName);
  openWord.ActiveDocument.Select;
  wordText:= openWord.Selection.Text;
  openWord.ActiveDocument.Close;
  openWord.Quit;
  openWord := unassigned;
  /////
  Result:= wordText;
end;

https://stackoverflow.com/questions/7744543/how-do-i-display-a-word-document-in-a-rich-edit-control

Não sei se funciona, não testei.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Lippi
Membro Junior
Membro Junior


Registrado: Terça-Feira, 25 de Novembro de 2008
Mensagens: 372

MensagemEnviada: Ter Set 03, 2019 7:07 pm    Assunto: Meu contexto Responder com Citação

Caros,

Gostaria de, após criar o documento, abrir o Word. Meu contexto é o seguinte:

Código:
procedure TFm_ParamCliPF.BitBtn_SimClick(Sender: TObject);
var
Word: Variant;
begin
  If (Edit_NomeClie.Text='') or  (MaskEdit_Emis.Text='') then
    begin
      If Edit_NomeClie.Text='' then
        ShowMessage('Selecione!')
      else
        ShowMessage('Informe a data de emissão!');
    end
  else
    begin
      Word:=CreateOleObject('Word.Application');
      try
        Word.Visible:=False;
        Word.Documents.Open('C:\Setor\SysLippi\Declarac\DeclaracSysLippi_01.doc');
        //
        Word.Selection.Find.Text:='@xNmCliente';
        Word.Selection.Find.Replacement.Text:=Edit_NomeClie.Text;
        Word.Selection.Find.Execute(Replace:=2);
        //
        Word.Selection.Find.Text:='@xNacionali';
        Word.Selection.Find.Replacement.Text:=Nacionali;
        Word.Selection.Find.Execute(Replace:=2);
        //
        Word.Selection.Find.Text:='@xDtEmissao';
        Word.Selection.Find.Replacement.Text:=ddemissao+mpextenso+aaemissao;
        Word.Selection.Find.Execute(Replace:=2);
        //
        Word.ActiveDocument.SaveAs('C:\Setor\SysLippi\Declarac\'+'Aufere_'+MaskEdit_nCPF.Text);
      finally
        Word.Quit;
        ShowMessage('Declaração já digitalizada!');
        Close;
      end;
    end;
end;


Gostaria de saber em que linha eu insiro o comando para abrir o Word e qual é especificamente esse comando.

Desde já, obrigado.
_________________
Longo e difícil é o caminho que, das trevas, nos leva à luz.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB