Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #59 da revista programar. Faz já o download aqui!

paulosemblano

Verificar se arquivo está em aberto

Mensagens Recomendadas

paulosemblano    0
paulosemblano

Bom dia!
Tenho a macro abaixo que verificar se o arquivo está em aberto e funciona corretamente.
Minha dúvida é se a macro funciona se o arquivo a verificar está na rede e foi aberto em outro computador.

Sub AbrirArqPrestações()
Dim strPath As Variant
Dim NomeArquivo As Variant
Dim Posição As Variant
strPath = "C:\Users\Paulo.Semblano\Desktop\Teste Conexão.xlsm"
Posição = InStrRev(strPath, "\", , vbTextCompare)
NomeArquivo = Mid(strPath, Posição + 1, Len(strPath) - Posição)
If Dir(strPath) = vbNullString Then
strCheck = False
Else
strCheck = True
End If
If strCheck Then
If IsFileOpen("C:\Users\Paulo.Semblano\Desktop\Teste Conexão.xlsm") Then
MsgBox "O arquivo se encontra em aberto!"
Workbooks(NomeArquivo).Activate
Else
Workbooks.Open (strPath)
Worksheets("Planilha4").Activate
End If
Else
'Mensagem = MsgBox("O arquivo " & strPath & " não foi encontrado!", vbInformation)
Mensagem = MsgBox("O arquivo " & NomeArquivo & " não foi encontrado!", vbInformation)
End If
End Sub

Function IsFileOpen(filename As String)
'Verificar se o arquivo está em aberto
Dim FileNum As Integer, errnum As Integer
On Error Resume Next
FileNum = FreeFile()
Open filename For Input Lock Read As #FileNum
Close FileNum
errnum = Err
On Error GoTo 0
Select Case errnum
Case 0
IsFileOpen = False
Case 70
IsFileOpen = True
Case Else
Error errnum
End Select
End Function

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.