Views

...

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.

E-mails

Deixe seu e-mail para receber atualizações...

eBook Promo

Mostrando postagens com marcador file. Mostrar todas as postagens
Mostrando postagens com marcador file. Mostrar todas as postagens

VBA Basic - Verifica se o arquivo ou o caminho existem

| 

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 String
    
    Let nFrase = "c:\Bernardes\Dashboard.xlsb"

    If DeepCheck (nFrase) Then

        MsgBox "O caminho e/ou arquivo '" & nFrase & "' existe é válido." _
          , vbInformation _
          , "Informação"

    Else

        MsgBox "O caminho e/ou arquivo '" & nFrase & "' é inválido ou não existe." _
          , vbCritical _
          , "Erro"

    End If
End Sub

Function DeepCheck (nPath As String) As Boolean    
    If Dir (nPath) = vbNullString Then
        Let DeepCheck = False
    Else
        Let DeepCheck = True
    End If    
End 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").ClearContents



Dim ListFilesInDirectory (10000, 1)

Dim One_File_List   As String

Dim Number_Of_Files_In_Directory As Long



Let One_File_List = Dir$ ("C:" + "\*.*")



Do While One_File_List <> ""

    Let ListFilesInDirectory (Number_Of_Files_In_Directory, 0) = One_File_List

    Let One_File_List = Dir$

    Let Number_Of_Files_In_Directory = Number_Of_Files_In_Directory + 1

Loop



Let Number_Of_Files_In_Directory = 0



While List_Files_In_Directory(Number_Of_Files_In_Directory, 0) <> tom


    Let 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 + 1

Wend



End Sub

Tags: VBA, UDF, user, defined, function, path, file, exist, Dir, directory, files, 

VBA - Renomeando arquivos aleatóriamente numa pasta - Renaming files Randomly in a folder using VBA



Sim, agora poderemos dar nomes aleatórios há vários arquivos reunidos numa pasta. Todos serão renomeados:

Function ReFileNameRandomly (Prefix As String, _
                    FILEPATH As String, _
                    nExtension As String, _
                    FinalExtension As String)
    
    Dim strfile As String
    Dim filenum As String
    Dim SizeExtension As Integer

    Dim sFileNumber As String
    
    Let strfile = Dir(FILEPATH)
    Let SizeExtension = Len(Replace(nExtension, ".", ""))

    Do While strfile <> ""
        Debug.Print strfile
    
        If Right$(strfile, SizeExtension) = nExtension Then
            Let filenum = Mid$(strfile, Len(strfile) - 6, SizeExtension)
            Let sFileNumber = Int((99999 - 10000 + 1) * Rnd + 10000)
            
            Name FILEPATH & strfile As FILEPATH & Prefix & sFileNumber & "." & FinalExtension
        End If
        Let strfile = Dir
    Loop
End Function

Tags: VBA, file, rename, folder, pasta, tips, randomly, aleatoriamente, aleatório, renomear

VBA Tips - Renomeando TODOS arquivos numa pasta - Renaming all files in a folder


Ao descarregar umas 700 fotos de uma câmera, também precisei renomeá-las. Pode imaginar como seria rápido fazer isso? 

Percebi que alterá-las manualmente, não era algo que estava interessado em fazer, então eu debrucei-me sob o VBA para resolver-me este "problema".

Este código percorrerá uma pasta e renomeará todos os arquivos nela.


Function ReFileName (Prefix As String, _
                    FILEPATH As String, _
                    nExtension As String, _
                    FinalExtension As String)
    
    Dim strfile As String
    Dim filenum As String
    Dim SizeExtension As Integer
    
    Let strfile = Dir(FILEPATH)
    Let SizeExtension = Len(Replace(nExtension, ".", ""))

    Do While strfile <> ""
        Debug.Print strfile
    
        If Right$(strfile, SizeExtension) = nExtension Then
            Let filenum = Mid$(strfile, Len(strfile) - 6, SizeExtension)
    
            Name FILEPATH & strfile As FILEPATH & Prefix & filenum & "." & FinalExtension
        End If
        Let strfile = Dir
    Loop
End Function


Tags: VBA, file, rename, folder, pasta, tips

eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine