Esta função VBA (UDF - User Defined Function) testa se um arquivo (file) ou um caminho (path) existem ou se são válidos.
Se desejar utilizar esta função para testar um caminho, precisará obrigatoriamente colocar "\" como último caracter do Path.
Function Check()Dim nFrase As StringLet nFrase = "c:\Bernardes\Dashboard.xlsb"If DeepCheck (nFrase) ThenMsgBox "O caminho e/ou arquivo '" & nFrase & "' existe é válido." _, vbInformation _, "Informação"ElseMsgBox "O caminho e/ou arquivo '" & nFrase & "' é inválido ou não existe." _, vbCritical _, "Erro"End IfEnd SubFunction DeepCheck (nPath As String) As BooleanIf Dir (nPath) = vbNullString ThenLet DeepCheck = FalseElseLet DeepCheck = TrueEnd IfEnd Function
Abaixo observamos um código simples que lista todos os arquivos de um determinado diretório.
Está configurado para usar a função Dir para obter as informações sobre onde arquivos estão armazenados na pasta / diretório. Em seguida, simplesmente grava os dados da planilha. É possível utilizar os dados em uma matriz se desejar modificar e usá-lo em outro aplicativo da suíte MS Office. Esta é uma função boa quando precisa gravar um arquivo ou realizar uma operação em todos os arquivos armazenados numa determinada pasta, mas não sabe exatamente como os arquivos são chamados ou quantos são.
Divirta-se!
Sub ListFilesInDirectory()Range("A5:A2000").ClearContentsDim ListFilesInDirectory (10000, 1)Dim One_File_List As StringDim Number_Of_Files_In_Directory As LongLet One_File_List = Dir$ ("C:" + "\*.*")Do While One_File_List <> ""Let ListFilesInDirectory (Number_Of_Files_In_Directory, 0) = One_File_ListLet One_File_List = Dir$Let Number_Of_Files_In_Directory = Number_Of_Files_In_Directory + 1LoopLet Number_Of_Files_In_Directory = 0While List_Files_In_Directory(Number_Of_Files_In_Directory, 0) <> tomLet Range("A5").Offset(Number_Of_Files_In_Directory, 0).Value = ListFilesInDirectory (Number_Of_Files_In_Directory, 0)Let Number_Of_Files_In_Directory = Number_Of_Files_In_Directory + 1WendEnd Sub
Tags: VBA, UDF, user, defined, function, path, file, exist, Dir, directory, files,
Nenhum comentário:
Postar um comentário