Как пакетно удалить несколько ненужных или неиспользуемых файлов с помощью Excel VBA

Поделись сейчас:

Там может быть несколько нежелательных и неиспользуемых файлов, занимающих место на диске. Очистка этих файлов может оказаться сложной задачей. С помощью Excel вы можете легко найти такие неиспользуемые файлы и мгновенно удалить их, чтобы освободить место на диске.

Скачать сейчас

Если вы хотите сtart использовать программное обеспечение как можно скорее, то вы можете:

Загрузите программное обеспечение сейчас

В противном случае, если вы хотите сделать своими руками, вы можете прочитать содержимое ниже.

Давайте подготовим графический интерфейс

Удалите ненужные листы из книги и переименуйте Лист 1 как графический интерфейс и сохраните книгу как книгу с поддержкой макросов. Как показано на прикрепленном изображении, создайте две кнопки на листе и переименуйте кнопку 1 в «Обзор», а кнопку 2 — в «Удалить файлы». Вы можете либо объединить несколько столбцов, чтобы создать столбец большего размера для размещения пути к файлу, либо увеличить ширину одного столбца.Подготовьте графический интерфейс

Давайте сделаем его функциональным

Скопируйте сценарий в новый модуль в рабочей книге с поддержкой макросов. Убедитесь, что имя модуля должно быть Module1. В противном случае скрипт выдаст ошибку. К кнопке «Обзор» прикрепите скрипт «Scan_This_Folder», а к кнопке «Удалить файлы» — процедуру «Удалить_файлы».

Sub filefordelete() Dim v_var1 As Scripting.FileSystemObject Dim v_var2 As Scripting.Folder Dim v_var3 As Scripting.File scanthis = Range("B3").Text Set v_var1 = New Scripting.FileSystemObject Set v_var2 = v_var1.GetFolder(scanthis) i = 7 Для каждого v_var3 In v_var2.Files Cells(i, 2) = v_var3 Cells(i, 11) = v_var3.DateLastModified i = i + 1 Next v_var3 Set v_var1 = Nothing End Sub Sub Delete_Files() Dim lr As Long Dim r As Long lr = Range("B" & Rows.Count).End(xlUp).Row For r = 7 To lr Kill Range("B" & r).Value Next r End Sub Function scanthisfolder() As String Dim v1 As FileDialog Dim v2 As String Set v1 = Application.FileDialog(msoFileDialogFolderPicker) With v1 .Title = "Папка для сканирования файлов" .AllowMultiSelect = False If .Show <> -1 Then GoTo NextCode v2 = .SelectedItems(1) End With NextCode : scanthisfolder = v2 Set v1 = Nothing End Function Sub Scan_This_Folder() Range("B3").Value = scanthisfolder() Call Module1.filefordelete End Sub

Как это работает?

Код VBAКогда пользователь выбирает папку, сценарий считывает все файлы в выбранной папке и отображает имя файла вместе с датой последнего изменения. Проверьте список, удалите строки, если хотите сохранить файл, а затем нажмите кнопку «Удалить файлы». Сценарий теперь будет определять последнюю использованную строку и удалять файлы, читая путь к файлу с листа.

Настройте это

На данный момент скрипт сканирует файлы в выбранной папке. Если в выбранной папке есть подпапки, скрипт не может ее просканировать. Вы можете настроить сценарий для сканирования всех подпапок в корневой папке, а также создать новый столбец для сравнения «Даты последнего изменения» файлов с текущей датой и отображения дней. Затем вы можете настроить скрипт для автоматического удаления файлов в зависимости от количества дней. Несмотря на то, что сценарий использует технику создания сценариев файлов Microsoft, свойства файла поврежденный xlsx файлы не могут быть восстановлены.

Об авторе:

Ник Випонд — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая восстановить слово и программные продукты для восстановления Outlook. Для получения дополнительной информации посетите www.datanumen.com.

Поделись сейчас:

Один ответ на «Как пакетно удалить несколько ненужных или неиспользуемых файлов с помощью Excel VBA»

Оставьте комментарий

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