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物件,不過相對新手有點難度!改日再聊!