付費限定

[VBA] 將【特定檔案名稱】重新命名

更新 發佈閱讀 6 分鐘

問題:

前幾天,LINE 某 VBA 社群網友問到一個有關 如何將【特定檔案名稱】重新命名 的問題,需使用 函數、VBA或其它方法 來做設計。


Q:要在多個資料夾內搜尋檔案名稱符合 開頭為【ABCDEF,後面1碼任意字元,接著後面有8碼日期,後面1碼半形空白】,要將此16碼字串刪除,其餘後面的字串均要保留。

Ex:【ABCDEF 20240817 homepage.html】要改成【homepage.html】

特定檔名 - 更改前與更改後

特定檔名 - 更改前與更改後


VBA程式執行結果 - 可在多個資料夾內,搜尋特定檔名並更改。

VBA程式執行結果 - 可在多個資料夾內,搜尋特定檔名並更改。



當然 LINE 某 VBA 社群裡的大神們紛紛提供了很多很棒的解決方法,像:《 使用【Dir】+【Name As】來修改檔案名稱 》、《 用 copy 或 ren 指令來做成批次檔(bat檔),批量將檔案名稱複製或重新命名 》、《 用 DOS 或 PowerShell 來達到修改檔案名稱的目的 》...等等。

但最後我還是請出了 神隊友 ChatGPT 4o 來幫忙 ~




靈感:

會想嘗試研究一下這問題,是因為之前也遇過類似的問題,但那時是想在某個資料夾內搜尋副檔名為xls的檔案,用的 Excel VBA 語法也非常老舊,就是 【Application.FileSearch】。不過這個好用的語法在 Excel 2007 就被微軟停用了... 而微軟官方的建議是使用【Dir函數】【FileSystemObject】來代替。


以下是 2011/3/31 個人所珍藏的【Application.FileSearch】搜尋子資料夾的微軟官網VBA語法的備份資料,現在已無法使用了... 看看就好囉 !

SearchSubFolders 屬性

請參閱套用至範例特定如果指定的搜尋範圍包括 LookIn 屬性指定的資料夾中的所有子資料夾,則為 True。讀/寫 Boolean。


範例

本範例會在 [My Documents] 資料夾及其所有子資料夾中搜尋以 Cmd 開頭的檔案,並顯示每個所找到檔案的檔名及位置。

Set fs = Application.FileSearch
With fs
.LookIn = "C:\My Documents"
.SearchSubFolders = True
.FileName = "cmd*"
If .Execute() > 0 Then
MsgBox "There were " & .FoundFiles.Count & _
" file(s) found."
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i)
Next i
Else
MsgBox "There were no files found."
End If
End With



在當時的年代(2007),微軟一停用 FileSearch,大家一陣哀鴻遍野,連我也不例外,我一直想不懂為何微軟要停用這麼好用的語法。只好求助 Google 大神,找了好久好久終於讓我找到了 !!

大約 2013年吧... 確切的年代可能更早,cjz大神 提供了完美的 FileSearch 替代方案,cjz大神的VBA程式碼,我當然是看不懂 !! 但大神的程式流程我卻隱隱約約的可以了解一點點 ... cjz大神 當時的VBA程式碼解徹底決了我的問題 !


如今 11 年過去了,現在利用 ChatGPT 4o 幫忙寫出來的超神程式碼裡面,居然和當年 cjz大神 的程式碼有大幅度的類似 !! 這真的讓我很驚訝 !!

由其是 GPT 在寫搜尋子資料夾的方式,讓我感覺到有當年 cjz大神 的影子 !!


兩者程式碼的核心概念沒有變,但 GPT 寫得程式碼相對非常簡短,如果沒有經歷過 cjz大神 的年代,我想一般人應該是很難體會出 GPT 寫的這個程式碼有多麼厲害、有多麼強 !!


比較耐人尋味的是 cjz大神 和 GPT 都用了這段宣告語法:
【Set fso = CreateObject("Scripting.FileSystemObject")】
名稱都一模一樣,很有趣 ! 哈哈 !





cjz 大神 現在應該已經退休了 !!

在這裡藉這篇文章,想跟他說聲謝謝 !
謝謝您在當年的網路論壇上為大家提供這麼偉大的程式碼,在那時候幫我解決了工作上的問題 ! 感謝您 ~

PS:如果想索取 cjz 大神 在當時偉大的程式碼,
請在下方留言【+1】並附上您的 Email,我會在寄給您 ! 謝謝~






關鍵:

正規表達式(Regular Expression) - 這個強大的程式語言,我學了好多年都學不會也記不住的東西 ... 說它是外星人的程式語言也不為過 ! 但它真的好用 !!

要不是工作上的某個機緣,讓我重新學習與體驗到它的強大,真慶幸一直沒有放棄學習它的機會。


搜尋出來的檔案名稱是否有符合規則就靠它囉 !!




檔案下載 (免費下載)

PS:副檔名 xlsb,是微軟 Excel 的二進位活頁簿名稱。




彩蛋

  1. 凡事要有【格物致知】的精神 !
  2. 蘇軾在〈稼說送張琥〉中提到:【博觀而約取,厚積而薄發。】
  3. 【過時的事物】,如果不能將它轉化成經驗來學習或體驗【新穎的事物】,
    那就只是一般的回憶罷了,是非常可惜的!




參考文獻

  1. ChatGPT 4o - 將【特定檔案名稱】重新命名 (分享網址連結,請參考最下方。)
  2. Application.FileSearch在Office2007中被停用了
    https://blog.csdn.net/dihuo2799/article/details/101732987
  3. [VBA ] Application.FileSearch要怎麼改寫?
    https://www.ptt.cc/bbs/Visual_Basic/M.1412063010.A.BDD.html




以上就是這次的分享,請持續關注  和 Meiko微課頻道,謝謝大家 ~




有任何問題,請到【opa的沙龍】【Excel VBA 情境學習】一起討論有關 VBA 的問題,或加入 LINE社群 Meiko微課小綠群(粉絲交流群),歡迎您的加入。




在 ChatGPT 4o 中,
所發揮的我的【主人式 靈魂拷問】方法,

請參考以下網址:

我的GPT秘笈,付費即可解鎖!
本篇內容共 2732 字、0 則留言,僅發佈於Excel VBA 情境學習你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
留言
avatar-img
opa的沙龍
81會員
31內容數
利用生活與工作情境來學習【Excel VBA + 函數】相關語法
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
本法省去開啟EXCEL檔,轉存為CSV檔之手動作業,縮短作業時間,提高工作效率,尤其是對象為複數個檔案場合
Thumbnail
本法省去開啟EXCEL檔,轉存為CSV檔之手動作業,縮短作業時間,提高工作效率,尤其是對象為複數個檔案場合
Thumbnail
這篇文章介紹如何使用VBA程式碼將【包含備註】的Excel檔案轉換為PDF檔。在研究這個問題時,作者花了3個小時多的時間,但後來發現了一個更簡單的方法,這讓作者感到震驚和懷疑人生。最後,作者強調使用他人的智慧來提高自己的能力。文章提供了相關參考文獻和圖片。
Thumbnail
這篇文章介紹如何使用VBA程式碼將【包含備註】的Excel檔案轉換為PDF檔。在研究這個問題時,作者花了3個小時多的時間,但後來發現了一個更簡單的方法,這讓作者感到震驚和懷疑人生。最後,作者強調使用他人的智慧來提高自己的能力。文章提供了相關參考文獻和圖片。
Thumbnail
本文介紹瞭如何將Excel圖表轉成圖片,並解決了圖表資料量大時可能出現的錯誤訊息。此外,還分享了ChatGPT 4o (訂閱付費版) 的幫助與成功轉換圖片的經驗。 還有周杰倫關於一技之長的觀點分享,激勵讀者找到自己的優勢和興趣。並提供了相關參考文獻,讓讀者進一步深入瞭解主題。
Thumbnail
本文介紹瞭如何將Excel圖表轉成圖片,並解決了圖表資料量大時可能出現的錯誤訊息。此外,還分享了ChatGPT 4o (訂閱付費版) 的幫助與成功轉換圖片的經驗。 還有周杰倫關於一技之長的觀點分享,激勵讀者找到自己的優勢和興趣。並提供了相關參考文獻,讓讀者進一步深入瞭解主題。
Thumbnail
本文介紹了將獨立的Excel檔案轉換為PDF檔的方法,並提供了相關連結和資源,包括Excel教學、VBA自動轉存檔案等。文章中還包含了南宋詞人辛棄疾詞和張忠謀的引言,讓讀者在解決問題的同時得到一些靈感和鼓勵。
Thumbnail
本文介紹了將獨立的Excel檔案轉換為PDF檔的方法,並提供了相關連結和資源,包括Excel教學、VBA自動轉存檔案等。文章中還包含了南宋詞人辛棄疾詞和張忠謀的引言,讓讀者在解決問題的同時得到一些靈感和鼓勵。
Thumbnail
Excel好好玩VBA-菜緒 (https://portaly.cc/ezyvba) VBE輔助工具一個針對Excel VBA撰寫的輔助工具 代碼對齊排版、排序、刪空行、刪註解、簡易VBA收集(可新增、刪除)..
Thumbnail
Excel好好玩VBA-菜緒 (https://portaly.cc/ezyvba) VBE輔助工具一個針對Excel VBA撰寫的輔助工具 代碼對齊排版、排序、刪空行、刪註解、簡易VBA收集(可新增、刪除)..
Thumbnail
本文介紹瞭如何使用 Excel VBA 解決規劃求解問題的實際案例,並展示了「回溯算法」(Backtracking) 的應用。通過此案例,專業人士可以更好地理解並利用數據,進而在商業環境中做出更精確的決策。
Thumbnail
本文介紹瞭如何使用 Excel VBA 解決規劃求解問題的實際案例,並展示了「回溯算法」(Backtracking) 的應用。通過此案例,專業人士可以更好地理解並利用數據,進而在商業環境中做出更精確的決策。
Thumbnail
不會寫Excel VBA不再是問題了!如何讓數據說話,是職場必備的技巧!而Excel又是搜集數據的好工具,今天石頭哥帶你透過ChatGPT 來神救援!
Thumbnail
不會寫Excel VBA不再是問題了!如何讓數據說話,是職場必備的技巧!而Excel又是搜集數據的好工具,今天石頭哥帶你透過ChatGPT 來神救援!
Thumbnail
這篇文章介紹瞭如何使用VBA來控制Powerpoint,以及透過VBA控制Powerpoint的好處,包括動態資料的圖表簡報、改變表格底色、串接API等。文章強調了了解物件和屬性的關係後,就可以開始探索VBA控制Powerpoint的各種可能性。
Thumbnail
這篇文章介紹瞭如何使用VBA來控制Powerpoint,以及透過VBA控制Powerpoint的好處,包括動態資料的圖表簡報、改變表格底色、串接API等。文章強調了了解物件和屬性的關係後,就可以開始探索VBA控制Powerpoint的各種可能性。
Thumbnail
在職場上,我們經常需要使用 Excel 表格來處理資料,而自動格式設定可以幫助我們快速將資料整理成一致的格式,讓資料看起來更清晰、更有效率。用 Excel 的快捷鍵自動出現自動格式設定技巧,可以讓我們在更短的時間內套用自動格式,讓工作更輕鬆。
Thumbnail
在職場上,我們經常需要使用 Excel 表格來處理資料,而自動格式設定可以幫助我們快速將資料整理成一致的格式,讓資料看起來更清晰、更有效率。用 Excel 的快捷鍵自動出現自動格式設定技巧,可以讓我們在更短的時間內套用自動格式,讓工作更輕鬆。
Thumbnail
本文介紹了如何使用 Excel VBA 來解決 CSV 檔案原始資料( 左補零 ) 被截斷的問題。
Thumbnail
本文介紹了如何使用 Excel VBA 來解決 CSV 檔案原始資料( 左補零 ) 被截斷的問題。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News