VBA - 从硬盘打开所有excel文件

Posted

技术标签:

【中文标题】VBA - 从硬盘打开所有excel文件【英文标题】:VBA - open all excel files from hard drive 【发布时间】:2021-06-12 20:15:48 【问题描述】:

我看到了许多从特定文件夹打开 excel 文件的代码。 你能帮我制作一个可以遍历我硬盘上每个文件夹的代码吗? 我知道这听起来很重要,但是你 - 这就是我需要的......

谢谢!

【问题讨论】:

【参考方案1】:

添加对 Microsoft Scripting Runtime 的引用(工具 -> 引用...)。然后你可以编写如下代码:

Dim fso As New FileSystemObject

Sub ParseFolder(fldr As Folder)
    Dim subfolder As Folder
    For Each subfolder in fldr.Subfolders
        ParseFolder subfolder
    Next

    Dim f As File
    For Each f In fldr.Files
        Select Case fso.GetExtensionName(file.path)
            Case "xls", "xlsb", "xlsm"
                
                ' Do something with Excel file here

        End Select
    Next
End Sub

Sub Main
    ' Run this macro to start the process running
    ParseFolder fso.GetFolder("C:\")
End Sub

根据磁盘上有多少 Excel 文件,您可能希望将代码仅定位到较小的 Excel 文件子集或较小的文件夹子集;或使用DoEvents,这样应用程序就不会冻结。


参考文献

脚本运行时

FileSystemObject object -- GetExtensionNameGetFolder 方法 Folder object -- SubfoldersFiles 属性

【讨论】:

以上是关于VBA - 从硬盘打开所有excel文件的主要内容,如果未能解决你的问题,请参考以下文章

Excel用vba按先后顺序打开一个文件夹中的N个excel工作簿,运行一段宏程序后

在访问 vba 的 excel 文件中未启用显示警报

Excel 怎样在VBA中打开带有密码的excel文件

VBA中如何打开一个文件夹内的所有EXCEL文件?

访问中的 Vba 代码循环遍历文件夹中的所有 excel 文件,打开、保存和关闭它们

Excel VBA计数和存储所有打开的工作簿列表