VBA - 将文件夹列表导入excel范围

时间:2014-03-31 23:06:49

标签: excel vba excel-vba

我目前正在开发一个宏,该宏从当前工作目录中名为“simulations”的文件夹中的多个子文件夹中导入文件。除了将文件列表导入excel的最后一步之外,我所拥有的代码正在为我需要的一切工作。

目前,我有一个宏,它使用cmd行手动创建我创建的文件:

> dir /b > foldernames.txt

然后我在另一个excel窗口中打开此文件,然后将范围复制到我当前的excel工作簿中。这似乎是一种缓慢,迂回的方式,我正在寻找可以绕过这一点的宏观解决方案。

我尝试了许多代码组合,例如:

Dim Fold As Folder
Dim FS As FileSystemObject

我怀疑我尝试的大多数语法与2007年以后不兼容。是否有某些功能对此应用程序有帮助?我不需要编写代码,只需要有关适用功能的建议,以便我可以使用这些代码。

1 个答案:

答案 0 :(得分:3)

我们通过Shell

运行CMD命令
Sub RunDir()
    x = Shell("cmd.exe /c dir /b > C:\TestFolder\foldernames.txt", 1)
    Close #1
    Open "C:\TestFolder\foldernames.txt" For Input As #1
    j = 1
     Do While Not EOF(1)
            Line Input #1, TextLine
            Cells(j, 1) = TextLine
            j = j + 1
        Loop
    Close #1
End Sub

我使用 TestFolder 作为目录的目的地..............选择你自己的