我目前正在开发一个宏,该宏从当前工作目录中名为“simulations”的文件夹中的多个子文件夹中导入文件。除了将文件列表导入excel的最后一步之外,我所拥有的代码正在为我需要的一切工作。
目前,我有一个宏,它使用cmd行手动创建我创建的文件:
> dir /b > foldernames.txt
然后我在另一个excel窗口中打开此文件,然后将范围复制到我当前的excel工作簿中。这似乎是一种缓慢,迂回的方式,我正在寻找可以绕过这一点的宏观解决方案。
我尝试了许多代码组合,例如:
Dim Fold As Folder
Dim FS As FileSystemObject
我怀疑我尝试的大多数语法与2007年以后不兼容。是否有某些功能对此应用程序有帮助?我不需要编写代码,只需要有关适用功能的建议,以便我可以使用这些代码。
答案 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 作为目录的目的地..............选择你自己的