Como copiar uma pasta em vba (com exemplo)
Você pode usar o método CopyFolder no VBA para copiar uma pasta de um local para outro.
Aqui está uma maneira comum de usar esse método na prática:
Sub CopyMyFolder()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source folder and destination folder
SourceFolder = "C:\Users\bob\Documents\current_data"
DestFolder = "C:\Users\bob\Desktop\"
'copy folder
FSO.CopyFolder Source:=SourceFolder, Destination:=DestFolder
End Sub
Esta macro específica copia a pasta chamada current_data da pasta Documentos para a área de trabalho .
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: como copiar pastas usando VBA
Digamos que temos uma pasta chamada current_data localizada em uma pasta chamada Documents :
Agora digamos que queremos usar o VBA para copiar toda essa pasta para o Desktop , que atualmente contém duas pastas:
Antes de usar o VBA para copiar este arquivo, devemos primeiro habilitar o Microsoft Scripting Runtime no editor VB.
Para fazer isso, abra o editor VB, clique em Ferramentas e em Referências :
Na nova janela que aparece, role para baixo até ver Microsoft Scripting Runtime e marque a caixa ao lado dele. Em seguida, clique em OK .
Então podemos criar a seguinte macro para copiar a pasta:
Sub CopyMyFolder()
Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'specify source folder and destination folder
SourceFolder = "C:\Users\bob\Documents\current_data"
DestFolder = "C:\Users\bob\Desktop\"
'copy folder
FSO.CopyFolder Source:=SourceFolder, Destination:=DestFolder
End Sub
Assim que esta macro for executada, a pasta chamada current_data será copiada da pasta Documentos para a área de trabalho :
A pasta current_data original também permanecerá na pasta Documentos .
Nota : Você pode encontrar a documentação completa do método CopyFolder aqui .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:
Como criar pastas usando VBA
Como deletar pastas usando VBA
Como listar arquivos em uma pasta usando VBA