• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

Excel VBA 列出目錄中所有檔案、子目錄教學與範例

介紹如何在 Excel 中使用 VBA 巨集程式自動列出指定目錄中的所有檔案與子目錄列表,包含檔案名稱、路徑、大小、類型、修改日期等資訊。

列出目錄中所有檔案

若要在 Excel 的 VBA 巨集中,列出指定目錄之下的所有檔案,可以使用 FileSystemObject 物件建立一個目錄物件,再以迴圈逐一對目錄中的每一個檔案物件進行處理:

Dim oFSO As Object
Dim oFolder As Object
Dim oFile As Object
Dim i As Integer

' 建立 FileSystemObject 物件
Set oFSO = CreateObject("Scripting.FileSystemObject")

' 建立目錄物件
Set oFolder = oFSO.GetFolder("C:\OfficeGuide\Excel")

i = 2

' 以迴圈列出所有檔案
For Each oFile In oFolder.Files

    Cells(i, 1) = oFile.Name              ' 檔案名稱
    Cells(i, 2) = oFile.Path              ' 檔案路徑
    Cells(i, 3) = oFile.Size              ' 檔案大小(位元組)
    Cells(i, 4) = oFile.Type              ' 檔案類型
    Cells(i, 5) = oFile.DateCreated       ' 檔案建立時間
    Cells(i, 6) = oFile.DateLastAccessed  ' 檔案上次存取時間
    Cells(i, 7) = oFile.DateLastAccessed  ' 檔案上次修改時間

    i = i + 1

Next oFile
以 VBA 列出目錄中所有檔案
以 VBA 列出目錄中所有檔案

這段範例程式碼會列出 C:\OfficeGuide\Excel 目錄之下的所有檔案,執行的結果會類似這樣:

列出目錄中所有檔案
列出目錄中所有檔案

列出目錄中所有子目錄

若要立出指定路徑下的所有子目錄,作法跟列出檔案類似,使用 FileSystemObject 物件建立一個目錄物件,再以迴圈逐一對目錄中的每一個子目錄物件進行處理:

Dim oFSO As Object
Dim oFolder As Object
Dim oFile As Object
Dim i As Integer

' 建立 FileSystemObject 物件
Set oFSO = CreateObject("Scripting.FileSystemObject")

' 建立目錄物件
Set oFolder = oFSO.GetFolder("C:\OfficeGuide")

i = 2

' 以迴圈列出所有子目錄
For Each oFile In oFolder.SubFolders

    Cells(i, 1) = oFile.Name              ' 目錄名稱
    Cells(i, 2) = oFile.Path              ' 目錄路徑
    Cells(i, 3) = oFile.DateCreated       ' 目錄建立時間
    Cells(i, 4) = oFile.DateLastAccessed  ' 目錄上次存取時間
    Cells(i, 5) = oFile.DateLastAccessed  ' 目錄上次修改時間

    i = i + 1

Next oFile

這段範例程式碼會列出 C:\OfficeGuide 目錄之下的所有子目錄,執行的結果會類似這樣:

列出目錄中所有子目錄
列出目錄中所有子目錄

參考資料

  • Software Solutions:Find and List all Files and Folders in a Directory
  • Automate Excel:Using the FileSystemObject to Get the List of Files in a Folder

分類:Excel 標籤:VBA

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • C++ 語言使用 Crypto++ 實作 RSA 數位簽章教學與範例
  • C++ 語言使用 Crypto++ 實作 RSA-OAEP 搭配 SHA256 加密教學與範例
  • C++ 語言使用 Crypto++ 實作 AES 加密、解密、認證加密教學與範例
  • C++ 語言使用 Crypto++ 實作 MD5、SHA1、SHA2、BLAKE2 雜湊教學與範例
  • Ubuntu Linux 安裝、使用 Crypto++ 加密函式庫教學與範例
  • C 語言使用 OpenSSL 實作橢圓曲線 ECDH 金鑰交換教學與範例
  • Python 以 eciespy 實作 ECC 非對稱式加密方法教學與範例
  • C 語言使用 OpenSSL 實作 PBKDF2 教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide