Renomear Arquivos com VBA Excel – Planilha para renomear arquivos

Renomear Arquivos com VBA Excel – Planilha para renomear arquivos

Neste artigo você tem uma planilha gratuita para renomear arquivos utilizando VBA no Excel. A planilha é gratuita, veja no vídeo acima e também descrito abaixo como ela funciona.

No vídeo explicamos também o funcionamento do código fonte que é totalmente aberto.

Como funciona a planilha para renomear arquivos com VBA Excel

A planilha funciona de uma forma muito simples.

Imagine que você tem uma pasta aonde há arquivos que precisam ser renomeados e estes arquivos são de uma determinada extensão e estão misturados com outros nesta pasta.

O sistema permite que você realize a busca apenas dos arquivos de determinado tipo que você precisa.

E após a importação da lista de arquivos você define os novos nomes e ao pressionar um botão os arquivos todos são renomeados automaticamente.

Renomear arquivos automaticamente VBA 1

Ao clicar no botão Ler Arquivos é a tela aonde você deve definir as extensões de arquivos que deseja que sejam listados na sua planilha.

Se quiser retornar todos os arquivos basta não preencher ou colocar *.*

Caso queira definir para que sejam retornados apenas arquivos do tipo CSV por exemplo, basta digitar *.csv, ou definir qualquer outra extensão que desejar.

Apenas os arquivos que estarão listados na planilha serão renomeados.

Renomear arquivos automaticamente VBA 2

Definir os nomes para renomear os arquivos pelo Excel com VBA

Após listar os arquivos o sistema irá exibir os dados conforme a figura.

Renomear arquivos automaticamente VBA 3

Na coluna Nome são retornados os nomes de todos os arquivos que foram filtrados daquela pasta.

Na extensão ele retorna as informações de cada um dos arquivos, sendo que você pode alterar inclusive a extensão dos arquivos ao renomear.

No campo Novo nome você deve colocar como gostaria que fosse renomeado, o nome do arquivo com a extensão do arquivo será montado automaticamente.

Arquivos renomeados

Os arquivos renomeados ficam conforme abaixo.

Renomear arquivos automaticamente VBA 4

Como selecionar pastas com VBA no Excel

Acima você já tem o passo-a-passo de como utilizar a planilha.

Esta sessão é para você entender o código fonte e saber como selecionar pastas com VBA no Excel.

Para selecionar a pasta daonde serão retornados os nomes dos arquivos você deve usar o seguinte código VBA:

Sub lsCaminho(ByRef vCaminho As String)
    Dim lstrPasta As String
    
    With Application.FileDialog(msoFileDialogFolderPicker)
        'Permitir mais de uma pasta
        .AllowMultiSelect = False
        'Mostrar janela
        .Show
        If .SelectedItems.Count > 0 Then
            lstrPasta = .SelectedItems(1)
        End If
    
    End With
    
    'Atribuir caminho a variável
    vCaminho = lstrPasta & "\"
End Sub

Listar os arquivos no Excel

Para listar os arquivos no Excel foi utilizado o seguinte código VBA no Excel.

No código abaixo são retornados todos os arquivos da pasta após selecionar a pasta.

Todos os arquivos são retornados automaticamente e listados na tabela Excel.

Sub ListarArquivosExcel()
    Dim FName As String
    'Cria um vetor de strings
    Dim arNames() As String
    Dim myCount As Integer
    Dim fPasta As String
    Dim lsExtensao As String
    
    lsExtensao = "*.*"
    
    'Caminho do arquivo
    lsExtensao = InputBox("Digite o tipo de arquivo procurado, " & vbcr13 & " exemplo *.xls ou *.* para Excel ou para todos:", "Extensão do arquivo...", ActName)
    
    'Seleciona a pasta
    lsCaminho fPasta
    
    'Determina o diretório e a extensão do arquivo
    FName = Dir(fPasta & lsExtensao)
    
    'Limpa a planilha
    Plan1.Range("A9:A1048576").Clear
    
    If [Tabela1].Rows.Count >= 2 Then
        [Tabela1].Rows("2:" & [Tabela1].Rows.Count).Delete
    End If
    
    'Atribui o nome da pasta
    Plan1.Range("F1").Value = fPasta
    
    'Enquanto FName for igual a vazio "", realiza a listagem dos arquivos
    Do Until FName = ""
        myCount = myCount + 1
        'Redimensiona o vetor, preservando os dados
        ReDim Preserve arNames(1 To myCount)
        arNames(myCount) = FName
        'Passa os dados para a planilha
        Cells(myCount + 8, 1).Value = arNames(myCount)
        'Atualiza a variável FName
        FName = Dir
    Loop
End Sub

Código VBA  para Renomear Arquivos pelo Excel

E por fim abaixo o código para realizar a renomeação dos arquivos.

É feito um loop por todas as linhas da tabela.

Serão renomeados utilizando o procedimento Name, somente os arquivos que estejam com a coluna Novo nome preenchida.

'Procedimento que renomea os arquivos
Public Sub lsRenomearArquivos()
    On Error Resume Next
    
    Dim lLinha As Long
    
    lLinha = 9
    
    Do While Not IsEmpty(Range("C" & lLinha))
        Name Plan1.Range("F1").Value & Plan1.Range("A" & lLinha) As Plan1.Range("F1").Value & Plan1.Range("D" & lLinha)
        lLinha = lLinha + 1
    Loop
    
    MsgBox "Nomes dos arquivos alterados!", vbOKOnly, "Processo Concluído"
End Sub

Download da planilha de cálculo de valor hora

Abaixo você tem o download da planilha de cálculo de valor hora no Excel. Basta colocar seu e-mail para fazer parte da nossa newsletter gratuita e o download irá iniciar automaticamente.

Baixe a planilha