DIR功能不打印所有文件名

时间:2016-08-06 11:37:20

标签: excel-vba vba excel

我正在编写一个代码来列出同一文件夹中的所有文件名,我的代码也正常工作,但问题是它留下了一个文件。假设文件夹中有10个文件,我运行宏,它在即时窗口中只打印9个名字。请在下面的代码中纠正我错误的地方

Option Explicit

Sub test()
    Dim curpath As String, path As String

    path = "H:\NAFIS STUDY\Excel vba\New Folder\"

    curpath = Dir(path)

    Do Until curpath = vbNullString Or curpath = ""
        Debug.Print Dir()
    Loop

End Sub

我认为我没有正确使用DIR功能

1 个答案:

答案 0 :(得分:2)

您可能需要这样的东西,即使用变量curpath写入调试输出,然后为其分配下一个返回值Dir。在原始代码中,Dir(path)的第一个返回值从未打印过,因为您从未打印过curpath

Option Explicit

Sub test()
    Dim curpath As String, path As String

    path = "c:\\temp\\"

    curpath = Dir(path)

    Do Until curpath = vbNullString Or curpath = ""
        Debug.Print curpath
        curpath = Dir()
    Loop

End Sub