1. Sub FileDir()
    2. Dim p$, f$, k&
    3. '获取用户选择文件夹的路径
    4. With Application.FileDialog(msoFileDialogFolderPicker)
    5. '选择文件夹
    6. If .Show Then
    7. p = .SelectedItems(1)
    8. '选择的文件路径赋值变量P
    9. Else
    10. Exit Sub
    11. '如果没有选择保存路径,则退出程序
    12. End If
    13. End With
    14. If Right(p, 1) <> "\" Then p = p & "\"
    15. f = Dir(p & "*.*")
    16. '返回变量P指定路径下带任意扩展名的文件名
    17. '如果有超过一个文件存在,将返回第一个找到的文件名
    18. '如果一个文件都没有,则返回空
    19. [a:a].ClearContents '清空A列数据
    20. [a1] = "目录"
    21. k = 1
    22. Do While f <> ""
    23. '如果文件名不为空,则……
    24. k = k + 1
    25. '累加文件个数
    26. Cells(k, 1) = f
    27. f = Dir
    28. '第二次调用Dir函数,但不带任何参数,则将返回同一目录下的下一个文件。
    29. Loop
    30. MsgBox "OK"
    31. End Sub