Перемещение файлов с помощью VBA FileSystemObject (MoveFile)

В этом руководстве будет показано, как использовать метод MoveFile объекта FileSystemObject.

Перемещение файлов с помощью VBA FileSystemObject

Метод MoveFile перемещает один или несколько файлов из одного места в другое.

Установить ссылку VBA

Во-первых, при использовании FileSystemObjects вам может потребоваться установить ссылку на библиотеку времени выполнения сценария VB: откройте редактор Visual Basic (ALT + F11), выберите Инструменты> Ссылки из раскрывающегося меню и установите флажок «Среда выполнения сценариев Microsoft».

FileSystemObject

Во-вторых, вы должны создать FileSystemObject:

12 Dim FSO как новый объект FileSystemObjectУстановите FSO = CreateObject ("Scripting.FileSystemObject")

Теперь у вас есть доступ к MoveFile и другим методам FileSystemObject.

Программирование на VBA | Генератор кода действительно работает для вас!

Переместить один файл

Чтобы переместить один файл, вы можете использовать простой синтаксис FSO.MoveFile (источник, место назначения).

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

Как упоминалось выше, сначала вам нужно создать FileSystemObject:

1234567 Подложка FSOMoveFile ()Dim FSO как новый объект FileSystemObjectУстановите FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt"Конец подписки

Переместить несколько файлов

Вы можете перемещать несколько файлов с одинаковыми именами частей:

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

Или вы можете переместить несколько файлов с одинаковым расширением:

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

Или просто все файлы из папки:

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

Обратите внимание, здесь мы используем подстановочный знак *.

Вместо использования подстановочного знака * вы можете переместить все файлы в папке с помощью цикла For Each.

12345678910111213141516 Подложка FSOMoveAllFiles ()Dim FSO как новый объект FileSystemObjectРазмыть FromPath как строкуDim ToPath As StringDim FileInFromFolder как объектFromPath = "C: \ Src \"ToPath = "C: \ Dst \"Установите FSO = CreateObject ("Scripting.FileSystemObject")Для каждого FileInFromFolder в FSO.GetFolder (FromPath) .FilesFileInFromFolder.Move ToPathСледующий FileInFromFolderКонец подписки

Переместить файл в новую папку

Вы также можете переместить файл (ы) во вновь созданную папку. Для этого добавьте команду

1 MkDir "C: \ Dst \"

перед объявлением пути назначения.

1234567891011121314151617 Подложка FSOMoveAllFiles ()Dim FSO как новый объект FileSystemObjectРазмыть FromPath как строкуDim ToPath As StringDim FileInFromFolder как объектFromPath = "C: \ Src \"MkDir "C: \ Dst \"ToPath = "C: \ Dst \"Установите FSO = CreateObject ("Scripting.FileSystemObject")Для каждого FileInFromFolder в FSO.GetFolder (FromPath) .FilesFileInFromFolder.Move ToPathСледующий FileInFromFolderКонец подписки

Устали искать примеры кода VBA? Попробуйте AutoMacro!

Переместить папки

Вы можете использовать аналогичный метод MoveFolder для перемещения папок.

1234567 Подложка FSOMoveFolder ()Dim FSO как новый объект FileSystemObjectУстановите FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFolder "C: \ OldFolder", "C: \ Dst \ NewFolder"Конец подписки

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave