Excel 結合 VBA 可輕鬆遍歷資料夾中的每個檔案,將檔名自動寫入工作表,快速生成檔案目錄。本文以影視收藏整理為例,完整示範從撰寫程式碼到建立操作按鈕的全過程。
小張將大量影視作品分類存放於不同資料夾(如圖1)。若逐一複製檔名至 Excel,工程浩大。利用 VBA 遍歷資料夾、抓取檔名並依分類建立工作表,即可自動化完成。
撰寫兩個主要程序:FileList 負責遞迴遍歷指定路徑及其子資料夾,並依子資料夾名稱建立對應工作表;ml 為主程序呼叫入口。關鍵物件 FileSystemObject (FSO) 提供豐富的檔案/資料夾操作方法(建立、移動、刪除、判斷存在、取得屬性等)。
建立 FSO 連接:
Set fso = CreateObject("Scripting.FileSystemObject")
透過 fso 變數即可操作磁碟機上的檔案與資料夾。
在 Excel 2003 中:工具 → 巨集 → Visual Basic 編輯器 → 插入 → 模組,貼上程式碼(圖2)。程式碼下載:此處。
ml 程序確定。點擊按鈕即可自動生成:工作簿新增以資料夾命名的工作表,每張表列出該分類下所有檔名(圖3)。
執行前須調整巨集安全性:工具 → 巨集 → 安全性,設為「低」,否則程式碼無法執行。