Como mover arquivos para outra pasta usando VBA

Este post foi originalmente publicado em https://officevbavsto.blogspot.com/2011/04/quickshot-movendo-arquivos-para-outra.html.

Suponha que depois de criar uma pasta programaticamente você tenha que mover arquivos para essa pasta. Com o código abaixo, você moverá qualquer arquivo, ou arquivos com extensões especificas para a nova pasta.

Sub MoveArquivos()

  Dim fso 
  Dim PastaOrigem As String, PastaDestino As String
  
  PastaOrigem = "c:\teste1" 'mude para a pasta de origem  
  PastaDestino = "c:\teste2" ' mude para a pasta de destino
  
  Set fso = CreateObject("Scripting.FileSystemObject")
  
  On Error Resume Next
  
  If Not fso.FolderExists(PastaOrigem) Then  
    MsgBox PastaOrigem & " Não é uma pasta válida.", vbInformation, "Office, VBA e VSTO"  
  ElseIf Not fso.FolderExists(PastaDestino ) Then  
    MsgBox PastaDestino & " Não é uma pasta válida.", vbInformation, "Office, VBA e VSTO"  
  Else  
    fso.MoveFile (PastaOrigem& "\*.*"), PastaDestino ' Mude "\*.*" para "\*.xls" para mover somente arquivos Excel por exemplo  
  End If
  
  If Err.Number = 53 Then MsgBox "Arquivo não encontrado."

End Sub

Créditos

Photo by Théo Dorp on Unsplash