Mover arquivos com VBA FileSystemObject (MoveFile)

Este tutorial demonstrará como usar o método MoveFile do FileSystemObject.

Mover arquivos com VBA FileSystemObject

O método MoveFile move um ou mais arquivos de um local para outro.

Definir Referência VBA

Primeiro, ao usar FileSystemObjects, você pode ter que definir uma referência para a biblioteca de tempo de execução de script VB: abra o Editor do Visual Basic (ALT + F11), selecione Ferramentas> Referências no menu suspenso e marque a caixa de seleção de 'Microsoft Scripting Runtime'.

FileSystemObject

Em segundo lugar, você deve criar o FileSystemObject:

12 Dim FSO As New FileSystemObjectDefina FSO = CreateObject ("Scripting.FileSystemObject")

Agora você tem acesso a MoveFile e outros métodos FileSystemObject.

Programação VBA | O Code Generator funciona para você!

Mover um arquivo

Para mover um único arquivo, você pode usar a sintaxe simples de FSO.MoveFile (origem, destino).

1 FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt"

Conforme mencionado acima, primeiro você precisa criar o FileSystemObject:

1234567 Sub FSOMoveFile ()Dim FSO As New FileSystemObjectDefina FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt"End Sub

Mover vários arquivos

Você pode mover vários arquivos com partes do mesmo nome:

1 FSO.MoveFile "C: \ Src \ TestFile * .txt", "C: \ Dst \"

Ou você pode mover vários arquivos com a mesma extensão:

1 FSO.MoveFile "C: \ Src \ * .xlsx", "C: \ Dst \"

Ou simplesmente todos os arquivos de uma pasta:

1 FSO.MoveFile "C: \ Src \ *", "C: \ Dst \"

Observe, aqui usamos o caractere curinga *.

Em vez de usar o caractere curinga *, você pode mover todos os arquivos em uma pasta usando um loop For Each.

12345678910111213141516 Sub FSOMoveAllFiles ()Dim FSO As New FileSystemObjectDim FromPath As StringDim ToPath As StringDim FileInFromFolder As ObjectFromPath = "C: \ Src \"ToPath = "C: \ Dst \"Defina FSO = CreateObject ("Scripting.FileSystemObject")Para cada FileInFromFolder em FSO.GetFolder (FromPath) .FilesFileInFromFolder.Move ToPathPróximo FileInFromFolderEnd Sub

Mover o arquivo para uma nova pasta

Você também pode mover o (s) arquivo (s) para uma pasta recém-criada. Para fazer isso, adicione o comando

1 MkDir "C: \ Dst \"

antes de declarar o caminho de destino.

1234567891011121314151617 Sub FSOMoveAllFiles ()Dim FSO As New FileSystemObjectDim FromPath As StringDim ToPath As StringDim FileInFromFolder As ObjectFromPath = "C: \ Src \"MkDir "C: \ Dst \"ToPath = "C: \ Dst \"Defina FSO = CreateObject ("Scripting.FileSystemObject")Para cada FileInFromFolder em FSO.GetFolder (FromPath) .FilesFileInFromFolder.Move ToPathPróximo FileInFromFolderEnd Sub

Cansado de procurar exemplos de código VBA? Experimente o AutoMacro!

Mover pastas

Você pode usar o método analógico MoveFolder para mover pastas.

1234567 Sub FSOMoveFolder ()Dim FSO As New FileSystemObjectDefina FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFolder "C: \ OldFolder", "C: \ Dst \ NewFolder"End Sub

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave