Criar pastas automaticamente com VBA

Objetivo: Realizar a criação de pastas automaticamente através do uso de VBA e Excel.

Este código é uma adaptação de outros artigos, para resolver o problema do leitor Orovaldo Colchon Filho que precisava criar 300 pastas para organizar os arquivos da empresa e estava buscando uma forma de automatizar esta tarefa.

Abaixo o código VBA para a geração das pastas:

<span style="color: #003300;">Public Declare Function SHBrowseForFolder Lib "shell32.dll" Alias _
    "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Public Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias _
    "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) _
    As Long
Public Type BROWSEINFO
    hOwner As Long
    pidlRoot As Long
    pszDisplayName As String
    lpszTitle As String
    ulFlags As Long
    lpfn As Long
    lParam As Long
    iImage As Long
End Type
 
Private Sub lsCriarPasta(ByVal lPasta As String)
    On Error Resume Next
    MkDir lPasta
End Sub
 
Public Sub lsCriarPastas()
 
    Dim iTotalLinhas    As Long
    Dim i               As Long
 
    iTotalLinhas = Worksheets("Menu").Cells(Worksheets("Menu").Rows.Count, 1).End(xlUp).Row
    i = 1
    While i <= iTotalLinhas
        lsCriarPasta Range("A" & i).Value
        i = i + 1
    Wend
 
    gfMens "Pastas Criadas!"
End Sub</span>

GUT PPTAbraço

Marcos Rieper

excel vba

SISTEMA DE GESTÃO CONTA AZUL

O Excel é uma plataforma de trabalho muito aberta para servir ao gerenciamento de dados de uma empresa, dado a complexidade e a integração entre as diversas áreas que a compõe. Mas é a melhor para analisar suas informações.

Com a intenção de atender as micro e pequenas empresas a Conta Azul criou um software de gestão aonde você tudo o que você precisa para gerir a sua empresa: Estoque, Vendas, Financeiro e ainda emite Nota Fiscal Eletrônica, tudo isso em um sistema simples de trabalhar, que você acessa pela internet, não há a necessidade de comprar servidores e preocupar-se com backup e atendimento através de 0800.

O preço da ferramenta também chama a atenção, sendo um preço mais do que justo para se ter o controle dos dados e a geração de informações para a análise do seu negócio.

ContaAzul é um software de gestão financeira e fiscal para micro e pequenas empresas. Ele funciona 100% em plataforma web, não necessitando nenhuma instalação ou atualização. Você pode acessar de qualquer lugar e não tem necessidade de comprar nova licença caso troque de computador.

  O Guia do Excel recomenda o Conta Azul no gerenciamento de sua empresa.
Use QR-Code to get this permaking using your Smartphone. QR Code for Criar pastas automaticamente com VBA

7 Comentários

  1. Walter disse:

    Muito bom esse tema. Vai ajudar muitas pessoas…

    Mais uma vez parabéns Marcos!

  2. Djonas disse:

    Oba!
    Pra mim deu o erro “Sub ou Function não definida”, nessa linha: Public Sub lsCriarPastas()
    Se tiver como ajudar, agradeço.

  3. Bom dia Marcos.
    Estamos montando na empresa uma planilha para controle de ações corretivas e montando usando duas planilhas até o momento, a primeiro o local onde serão digitas das informações e a segundo o espelho do relatorio, que sera preenchido automaticamente quando se digita na primeira planilha. O que precisamos é que cada vez que gere um relatório ele seja salvo. Não sei se isso é possível.

    Obrigado e se quiser maiores informações é só pedir.

    Abraço.

  4. Carlos disse:

    Prezado Marcos,
    Ao tentar executar a macro “Criar pastas automaticamente com VBA” está ocorrendo o erro “Sub ou Function não definida”, na linha: Public Sub lsCriarPastas()…
    Poderia indicar-me a razão?
    Grato,
    Carlos

  5. Tulio disse:

    Caro Marcos,

    Percebi que esta macro roda apenas em computadores de 32b, sabe como fazer para adaptar para computadores de 64b?

    Muito Obrigado

    • Marcos Rieper disse:

      Bom dia Túlio,

      Você pode fazer isso colocando a cláusula PTRSAFE depois do declare dos trechos abaixo:

      Public Declare PTRSAFE Function SHBrowseForFolder Lib “shell32.dll” Alias _
      “SHBrowseForFolderA” (lpBrowseInfo As BROWSEINFO) As Long
      Public Declare PTRSAFE Function SHGetPathFromIDList Lib “shell32.dll” Alias _
      “SHGetPathFromIDListA” (ByVal pidl As Long, ByVal pszPath As String) _
      As Long

      Esta cláusula mantém a compatibilidade com o 32 bits para estas declarações.

      Abraço

      Marcos Rieper

  6. Montenegro disse:

    Valeu de mais da conta!
    Quebrou um galhão! Precisava criar 500 pastas para guardar documentos digitalizados de um condomínio.

    Muito bom!

Deixe o seu comentário


 
%d blogueiros gostam disto: