Переміщення файлів за допомогою VBA FileSystemObject (MoveFile)

Цей підручник покаже, як використовувати метод MoveFile для FileSystemObject.

Переміщення файлів за допомогою VBA FileSystemObject

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

Встановити посилання VBA

По-перше, під час використання FileSystemObjects вам може знадобитися встановити посилання на бібліотеку виконання сценарію VB: відкрийте редактор Visual Basic (ALT+F11), виберіть Інструменти> Посилання у спадному меню та встановіть прапорець біля "Виконання сценаріїв Microsoft".

FileSystemObject

По -друге, ви повинні створити FileSystemObject:

12 Затемнити FSO як новий FileSystemObjectВстановити FSO = CreateObject ("Scripting.FileSystemObject")

Тепер у вас є доступ до MoveFile та інших методів FileSystemObject.

Програмування VBA | Генератор коду працює для вас!

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

Для переміщення одного файлу можна використовувати простий синтаксис FSO.MoveFile (джерело, місце призначення).

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

Як згадувалося вище, спочатку вам потрібно створити FileSystemObject:

1234567 Sub FSOMoveFile ()Затемнити FSO як новий FileSystemObjectВстановити FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFile "C: \ Src \ TestFile.txt", "C: \ Dst \ ModTestFile.txt"End Sub

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

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

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 Sub FSOMoveAllFiles ()Затемнити FSO як новий FileSystemObjectЗатемнити FromPath як рядокЗатемнити ToPath як рядокЗатемнити FileInFromFolder як об'єктFromPath = "C: \ Src \"ToPath = "C: \ Dst \"Встановити FSO = CreateObject ("Scripting.FileSystemObject")Для кожного файлу FileInFromFolder у FSO.GetFolder (FromPath)FileInFromFolder.Move ToPathДалі FileInFromFolderEnd Sub

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

Ви також можете перемістити файли в нещодавно створену папку. Для цього додайте команду

1 MkDir "C: \ Dst \"

перед оголошенням шляху призначення.

1234567891011121314151617 Sub FSOMoveAllFiles ()Затемнити FSO як новий FileSystemObjectЗатемнити FromPath як рядокЗатемнити ToPath як рядокЗатемнити FileInFromFolder як об'єктFromPath = "C: \ Src \"MkDir "C: \ Dst \"ToPath = "C: \ Dst \"Встановити FSO = CreateObject ("Scripting.FileSystemObject")Для кожного файлу FileInFromFolder у FSO.GetFolder (FromPath)FileInFromFolder.Move ToPathДалі FileInFromFolderEnd Sub

Втомилися від пошуку прикладів коду VBA? Спробуйте AutoMacro!

Переміщення папок

Для переміщення папок можна використовувати аналоговий метод MoveFolder.

1234567 Додатковий FSOMoveFolder ()Затемнити FSO як новий FileSystemObjectВстановити FSO = CreateObject ("Scripting.FileSystemObject")FSO.MoveFolder "C: \ OldFolder", "C: \ Dst \ NewFolder"End Sub

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

wave wave wave wave wave