Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel DIR函数未打印所有文件名_Excel_Vba - Fatal编程技术网

Excel DIR函数未打印所有文件名

Excel DIR函数未打印所有文件名,excel,vba,Excel,Vba,我正在编写一个代码来列出同一文件夹中的所有文件名,我的代码也在工作,但问题是它只留下一个文件。假设文件夹中有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 Un

我正在编写一个代码来列出同一文件夹中的所有文件名,我的代码也在工作,但问题是它只留下一个文件。假设文件夹中有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
函数

您可能想要这样的东西,即使用变量
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

没有必要让
curpath=vbNullString
和'curpath=”“退出循环。是的,但我不想重构他的整个代码,而是向他展示导致意外结果的错误。很好的一点虽然我个人偏好我会删除它,但没什么好担心的谢谢先生,你们两个,我的代码现在正在工作耶!