Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

Views

VBA Access - Função para saber se existe um arquivo.

Tudo bem que seja uma função básica, mas com sua utilidade.

Esta função retorna True se não houver um arquivo com o nome que você passar, mesmo que esteja escondido ou seja um arquivo de sistema.

Assume o diretório atual, se você não incluir um caminho.

Retorna False se o nome do arquivo for uma pasta, a menos que você passe True para o segundo argumento.

Retorna False para qualquer erro, por exemplo: nome de arquivo inválido, a permissão foi negada, o servidor não foi encontrado.

Procura um arquivo chamado nFile.accdb na pasta de dados:
ExisteArquivo ("C: \ Data \ nFile.accdb")

Procura um arquivo chamado nFile.txt em um servidor de rede:
ExisteArquivo ("\ \ MyServer \ MyPath \ nFile.txt")

Verifique se há um arquivo ou pasta no servidor com o nome Bernardes:
ExisteArquivo ("\ \ MyServer \ Bernardes", True)

Verifica a pasta do banco de dados atual para um arquivo chamado A&A-InAnyPlace.xlsx:
ExisteArquivo (TrailingSlash (CurrentProject.path) & "A&A-InAnyPlace.xlsx")

Function ExisteArquivo (ByVal strFile As String, Optional bFindFolders As Boolean) As Boolean
    Dim lngAttributes As Long

    'Inclui arquivos read-only (somente leitura), hidden (escondidos), e system (de sistema).
    Let lngAttributes = (vbReadOnly Or vbHidden Or vbSystem)

    If bFindFolders Then
        Let lngAttributes = (lngAttributes Or vbDirectory) 'Inclui pastas.
    Else
        Do While Right$(strFile, 1) = "\"
            Let strFile = Left$(strFile, Len(strFile) - 1)
        Loop
    End If

    ' Se Dir() retornar alguma coisa, é porque existem arquivos.
    On Error Resume Next
    Let FileExists = (Len(Dir(strFile, lngAttributes)) > 0)
End Function

Function TrailingSlash (varIn As Variant) As String
    If Len(varIn) > 0 Then
        If Right(varIn, 1) = "\" Then
            Let TrailingSlash = varIn
        Else
            Let TrailingSlash = varIn & "\"
        End If
    End If
End Function
 
Twitter: @officespecialis
             @brzexceldevelop
             @brzaccessdevel



André Luiz Bernardes
A&A - WORK, DON´T PLAY!
http://al-bernardes.sites.uol.com.br/
bernardess@gmail.com

LinkWithinBrazilVBAAccessSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine