ok100fen 发表于 2011-12-2 21:01:32

怎么能取到这个文件夹的名字?

比如在d盘下有一个文件夹a,在a这个文件夹下有个文件夹b,在b这个文件夹里有三个文件夹,分别是a1,a2,a3

我怎么能用VB来取到这三个文件夹的名字?(也就是a1,a2,a3)

谢谢大家~

supertankhzt 发表于 2011-12-3 00:43:02

用dir函数

supertankhzt 发表于 2011-12-3 00:47:14

' 显示 C:\ 目录下的名称。
MyPath = "c:\"   ' 指定路径。
MyName = Dir(MyPath, vbDirectory)   ' 找寻第一项。
Do While MyName <> ""   ' 开始循环。
   ' 跳过当前的目录及上层目录。
   If MyName <> "." And MyName <> ".." Then
      ' 使用位比较来确定 MyName 代表一目录。
      If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
         Debug.Print MyName   ' 如果它是一个目录,将其名称显示出来。
      End If
   End If
   MyName = Dir   ' 查找下一个目录。
Loop

supertankhzt 发表于 2011-12-3 04:22:10

本帖最后由 supertankhzt 于 2011-12-3 04:29 编辑

上面的是MSDN里的示例代码
稍微改了一下 Dim MyName As String, MyPath As String, i As Integer, FileName() As String
MyPath = "D:\a\"
MyName = Dir(MyPath, vbDirectory)
Do While MyName <> ""
    If (MyName <> "." And MyName <> "..") And (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
      ReDim Preserve FileName(i)
      FileName(i) = MyName
      i = i + 1
    End If
    MyName = Dir
Loop执行后MyPath目录下的所有非隐藏非系统文件夹将保存到FileName数组里

yxd199512041 发表于 2011-12-3 10:34:27

用fso就可以

ok100fen 发表于 2011-12-4 07:44:15

ls几位很不错

我先试试

3q

supertankhzt 发表于 2011-12-9 14:45:22

我这只出来文件夹,你是不是写漏了vbDirectory?
页: [1]
查看完整版本: 怎么能取到这个文件夹的名字?