【VBA】如何用dir返回某目录下的所有文件名

时间:2022-07-11 14:33:14

在word宏下(VBA)写了一句:
Dir("C:\Documents and Settings\user\桌面\")
结果得到的值是这个文件夹下的第一个文件名,若我要所得到这个目录下所有的文件名,应该怎么去实现呢?除了用dir还有什么方法?

5 个解决方案

#1


Private Sub Form_Load()
    Dim a  As String
    a = Dir("d:\")
    Do While a <> ""
        List1.AddItem a
        a = Dir
    Loop
End Sub

#2


除了用dir还有API方法,比这快,分太少

#3


引用楼主 ally0910 的回复:
在word宏下(VBA)写了一句:
Dir("C:\Documents and Settings\user\桌面\")
结果得到的值是这个文件夹下的第一个文件名,若我要所得到这个目录下所有的文件名,应该怎么去实现呢?除了用dir还有什么方法?
需要结合循环来遍历得到所有的文件名,循环前用dir带参数,循环体中再次调用dir不带参数,在vb中这个是固定模式。参考1楼的做法。

api的方法参考:
http://blog.csdn.net/johnny_83/archive/2007/07/22/1701833.aspx

另外可以通过调用cmd的方法。
shell "dir ""C:\Documents and Settings\user\桌面\"" /A-D B > c:\list.txt"
然后去查看c:\list.txt

#4


【VBA】如何用dir返回某目录下的所有文件名
学习!

#5


dir()用起来简单些呵呵。

#1


Private Sub Form_Load()
    Dim a  As String
    a = Dir("d:\")
    Do While a <> ""
        List1.AddItem a
        a = Dir
    Loop
End Sub

#2


除了用dir还有API方法,比这快,分太少

#3


引用楼主 ally0910 的回复:
在word宏下(VBA)写了一句:
Dir("C:\Documents and Settings\user\桌面\")
结果得到的值是这个文件夹下的第一个文件名,若我要所得到这个目录下所有的文件名,应该怎么去实现呢?除了用dir还有什么方法?
需要结合循环来遍历得到所有的文件名,循环前用dir带参数,循环体中再次调用dir不带参数,在vb中这个是固定模式。参考1楼的做法。

api的方法参考:
http://blog.csdn.net/johnny_83/archive/2007/07/22/1701833.aspx

另外可以通过调用cmd的方法。
shell "dir ""C:\Documents and Settings\user\桌面\"" /A-D B > c:\list.txt"
然后去查看c:\list.txt

#4


【VBA】如何用dir返回某目录下的所有文件名
学习!

#5


dir()用起来简单些呵呵。