Excel如何批量操作資料夾

今天主要是聊聊使用Excel如何批量操作資料夾,常見的增、刪、查、改!

最常見的就是,批量查詢,比如我們先看一下,某個資料夾下有哪些子資料夾!我們可以使用DIR函式處理!

▍S01 - 批量查詢資料夾

比如我們想看一下D盤下面有哪些資料夾,那麼可以使用下面的程式碼處理

▼VBA原始碼分享:根據需要修改路徑

'作者:E精精 '公眾號:Excel辦公實戰 '-------------------------------------- Sub 獲取全部子資料夾()     '需要處理的資料夾路徑     Const sPath As String = "D:/"     Dim subPath As String     subPath = Dir(sPath, vbDirectory)     Do While Len(subPath) <> 0         Debug.Print subPath         subPath = Dir     Loop End Sub

其實主要使用到的核心函式,就是DIR函式!關於此函式,看一下文件說明

注意兩點

1、查詢不到返回空或者說字串長度0

2、第二引數 VBdirectory 或者16,表示查詢資料夾,預設0-查詢檔案

說完查詢,我們來看看如何批量新增!

▍S02 - 批量新增資料夾

批量新增,ExcelVBA中給我們提供了mkdir函式

mkDir語法如下:給一個資料夾全路徑即可!

比如我們想在D盤下面,常見一個 “Excel辦公實戰目錄”

那如果我們要建立多個呢?很簡單,加一個迴圈即可!比如我們要建立週一到週日的7個資料夾!

>在Sheet1表A1:A7,輸入星期一到星期日

D:/Excel辦公實戰目錄 目錄下建立 星期一到星期日,7個資料夾!

▼VBA原始碼分享:根據需要修改路徑

Sub 建立資料夾()     For i = 1 To 7         MkDir "D:/Excel辦公實戰目錄/" & Cells(i, 1).Value     Next End Sub

▼VBA原始碼分享:根據需要修改路徑

▍S03 - 批量刪除資料夾

Excel中可以使用 Rmdir刪除資料夾,語法如下:

這個是否就有同學要問了,我怎麼知道是否是空資料夾?其實可以換一種思路,你直接刪,如果不是空的會報錯,我們跳過錯誤就可以了,利用這個我們可以快速刪除 指定路徑下的全部空資料夾!

▼下面是的程式碼是刪除D盤下的空資料夾

▼VBA原始碼分享:根據需要修改路徑

'作者:E精精 '公眾號:Excel辦公實戰 '-------------------------------------- Sub 批量刪除D盤下的空資料夾()     Const sPath As String = "D:/"     Dim subPath As String     subPath = Dir(sPath, vbDirectory)     On Error Resume Next     Do While Len(subPath) <> 0         RmDir sPath & subPath         If Err <> 0 Then             Debug.Print "刪除失敗 > " & subPath: Err.Clear         Else             Debug.Print "刪除成功 > " & subPath         End If         subPath = Dir     Loop End Sub

▍S04 - 批量修改資料夾

所謂批量修改,也就是批量重名,批量重新命名,我們可以使用 Name函式處理

Name語法:Name 老資料夾名稱 as 新資料夾名稱

比如我們之前建立了星期一到星期日的7個資料夾,現在我們想重新命名為 週一到週日,那麼要如何處理!

表中兩列,新舊名稱準備好!

'作者:E精精 '公眾號:Excel辦公實戰 '-------------------------------------- Sub 批量重新命名()     '需要處理的父資料夾路徑     Const basePath As String = "D:/Excel辦公實戰目錄/"     For i = 1 To 7         Name basePath & Cells(i, 1) As basePath & Cells(i, 2)     Next End Sub

OK!資料夾的常見批量操作我們就說到這裡!其實還有一個專門處理檔案和檔案的物件 FSO物件,不過相對新手有點難度!改日再聊!