Как удалить файл с помощью vba в excel?

Чтобы удалить файл Excel из папки, вы можете использовать два разных метода. Первый метод — это оператор «Kill», который использует путь к файлу, который вы хотите удалить. Второй метод — это объект FileSystemObject, у которого есть связанный метод для удаления файла.

Чтобы использовать эти коды, перейдите в VBE (редактор кода) на вкладке разработчика.

Удалить файл с помощью VBA (функция Kill)

Функция Kill позволяет удалить один файл или несколько файлов, а также использовать подстановочные знаки для удаления нескольких файлов. Ниже приведен однострочный код, который удаляет файл из папки на рабочем столе.

 Kill "C:UsersDellDesktopSample Datafile-one.xlsx"
удалить файл с помощью функции уничтожения VBA

Этот код покажет вам ошибку, если книга, которую вы указали для удаления, не существует.

Полезные ссылки: Запуск макросаСредство записи макросовРедактор Visual BasicПерсональный справочник по макросам

Удалить все файлы в папке с помощью VBA

А если вы хотите удалить все файлы в папке, вы можете использовать подстановочный знак.

 Kill "C:UsersDellDesktopSample Data*.xl*"
удалить все файлы в папке с помощью vba

Удалите файл с помощью FileSystemObject (Object)

Объект файловой системы позволяет вам получить доступ к файловой системе компьютера. Подробнее можно узнать здесь, а теперь давайте напишем код для удаления файла.

  • Сначала вам необходимо объявить переменные, которые будут использоваться в коде, как Binder и FileSystemObject.
    delete a file using the file system object
  • После этого используйте функцию создания объекта, чтобы вернуть FileSystemObject, присвоив его переменной FSO.
    create object function
  • Затем назначьте путь переменной «myFile», чтобы перейти к файлу, который вы хотите удалить.
    assign the path to the myfile
  • В конце используйте метод «DeleteFile» (см. это), чтобы удалить файл.
    use the delete file method

Полный код

 Sub vba_delete_file() Dim FSO Dim myFile As String Set FSO = CreateObject("Scripting.FileSystemObject") myFile = "C:UsersDellDesktopSample Datafile1.xlsx" FSO.DeleteFile myFile, True End Sub

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

 Sub vba_delete_file() Dim FSO Dim myFile As String Set FSO = CreateObject("Scripting.FileSystemObject") myFile = "C:UsersDellDesktopSample Datafile1.xlsx" If FSO.FileExists(myFile) Then FSO.DeleteFile myFile, True MsgBox "Deleted" Else MsgBox "There's no workbook with this name." End If End Sub

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *