Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

paulosemblano

Verificar se arquivo está em aberto

Recommended Posts

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

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.