Como mover arquivos usando vba (com exemplo)


Você pode usar o método MoveFile no VBA para mover um arquivo de uma pasta para outra.

Aqui está uma maneira comum de usar esse método na prática:

 Sub MoveMyFile()

Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
    
'specify source file and destination file
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\soccer_data.txt"

'move file
FSO.MoveFile Source:=SourceFile, Destination:=DestFile

End Sub

Esta macro específica move o arquivo chamado football_data.txt de uma pasta chamada Some_Data_1 para uma pasta chamada Some_Data_2 .

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: como mover arquivos usando VBA

Digamos que temos um arquivo de texto chamado football_data.txt localizado em uma pasta chamada Some_Data_1 em nossa área de trabalho:

Agora digamos que queremos usar o VBA para mover este arquivo de texto para outra pasta chamada Some_Data_2 em nossa área de trabalho, que atualmente contém dois arquivos de texto:

Antes de usar o VBA para mover 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 mover o arquivo:

 Sub MoveMyFile()

Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
    
'specify source file and destination file
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\soccer_data.txt"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\soccer_data.txt"

'move file
FSO.MoveFile Source:=SourceFile, Destination:=DestFile

End Sub

Assim que esta macro for executada, o arquivo denominado football_data.txt será movido da pasta Some_Data_1 para a pasta Some_Data_2 :

Observe que se quiser mover todos os arquivos de uma pasta para outra, você pode usar a seguinte sintaxe:

 Sub MoveMyFile()

Dim FSO As New FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
    
'specify source and destination folders
SourceFile = "C:\Users\bob\Desktop\Some_Data_1\*"
DestFile = "C:\Users\bob\Desktop\Some_Data_2\"

'move all files from source folder to destination folder
FSO.MoveFile Source:=SourceFile, Destination:=DestFile

End Sub

Esta macro específica moverá todos os arquivos da pasta Some_Data_1 para a pasta Some_Data_2 .

Nota : Você pode encontrar a documentação completa do método MoveFile 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 deletar arquivos usando VBA

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *