最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Excel VBA:批量對文件任意重命名(移動)

2022-07-13 22:26 作者:ch_j  | 我要投稿

一、普通VBA代碼的問題

如果用Dir()方法和MkDir方法,一般只能在已經(jīng)存在的文件夾內(nèi)創(chuàng)建一層新的子文件夾。無法命名任意多層文件夾。

也就是說,如現(xiàn)在如果已經(jīng)存在文件夾【E:\ABC】,才能創(chuàng)建【E:\ABC\DEF】;否則是不能直接創(chuàng)建后面的新文件夾的。

二、創(chuàng)建任意文件夾的思路

1.創(chuàng)建FSO對象【文件系統(tǒng)對象】

用FSO對象主要是因為它處理文件與文件夾更專業(yè),里面有各種函數(shù)和方法,不需要自己通過Mkdir/Dir/Split等函數(shù)和方法慢慢構(gòu)造路徑;同時避免很多出錯的可能。

2.判斷盤符是否存在

比如給定需要創(chuàng)建的文件夾是

路徑 = "E:\A\b/C\d/ef\g/h\i\j\k/m/n"

利用【FSO.DriveExists()】函數(shù)判斷給定的路徑對應(yīng)的盤符【E:\】是否存在,如果盤符不存在,是不可能創(chuàng)建出給定文件夾的,此時直接即出程序;否則,繼續(xù)向下執(zhí)行程序。

3.循環(huán)逐層判斷文件夾

(1)利用【FSO.FolderExists()】函數(shù),從給定的完整路徑開始,逐級向上判斷第級文件夾路徑是否存在。

判斷流程:

第1次,判斷【E:\A\b/C\d/ef\g/h\i\j\k/m/n】是否存在
第2次,判斷【E:\A\b/C\d/ef\g/h\i\j\k/m】是否存在
第3次,判斷【E:\A\b/C\d/ef\g/h\i\j\k】是否存在
……
第n次,判斷【E:\A】是否存在

A.如果不存在,則裝入一個動態(tài)數(shù)組arr中;

B.如果該級文件夾路徑存在,則往上肯定都存在了,就不再向上一級父文件夾進(jìn)行判斷。

(2)倒著循環(huán)arr

即從上面記錄文件夾路徑的數(shù)組arr的最大下標(biāo)開始循環(huán),直到最小下標(biāo)結(jié)束,步長-1。

因為我們創(chuàng)建文件夾,是要按下面箭頭所示的順序由下向上逐級來操作的:

創(chuàng)建文件夾的秦順序

(3)創(chuàng)建文件夾

用【FSO.CreateFolder】方法逐級創(chuàng)建文件夾

(4)完成

循環(huán)arr完成,多層文件夾創(chuàng)建完成

三、創(chuàng)建任意多層文件夾示例代碼

四、批量對文件任意重命名

在上述創(chuàng)建多層文件夾的方法的基礎(chǔ)上,咱們可以對已經(jīng)存在的文件任意移動或重命名

操作方法:

1.整理新舊文件名

在Excel的【Sheet1】表格和A列寫原文件完整路徑,B列寫新文件名的完整路徑

注:第一行是標(biāo)題不會算在內(nèi)

2.執(zhí)行

點擊【Sheet1】表格里的【執(zhí) 行】按鈕,即可完成。

運行方法

或者打開文件,在代碼主程序處點擊運行也一樣。

3.示例代碼

五、文件

鏈接: https://pan.baidu.com/s/1zKAlHsCTd8fU33cxMVgtGw?pwd=uhsi 提取碼: uhsi 復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機(jī)App,操作更方便哦

打開文件直接操作即可。


Excel VBA:批量對文件任意重命名(移動)的評論 (共 條)

分享到微博請遵守國家法律
嘉峪关市| 岱山县| 贺州市| 彩票| 承德县| 铜梁县| 台湾省| 辽宁省| 德州市| 邓州市| 会理县| 柞水县| 斗六市| 平乡县| 万全县| 长乐市| 蓬莱市| 卫辉市| 谷城县| 郸城县| 简阳市| 黔江区| 绥江县| 罗甸县| 高陵县| 洛川县| 崇州市| 永城市| 青田县| 根河市| 乌鲁木齐市| 宁阳县| 高淳县| 香河县| 扶风县| 惠东县| 建昌县| 南郑县| 临颍县| 芮城县| 云浮市|