永发信息网

vb 怎么用dir函数得到指定目录下的所有文件名

答案:2  悬赏:30  手机版
解决时间 2021-07-31 06:41
  • 提问者网友:爱了却不能说
  • 2021-07-30 15:06
vb 怎么用dir函数得到指定目录下的所有文件名,在文本框中显示出来,说具体点,简单一点。
最佳答案
  • 五星知识达人网友:北城痞子
  • 2021-07-30 16:28

首先在窗体上添加一个列表框List1,它用来显示文件名,以"D:\123"这个文件夹为例子,程序如下,只需将路径换为你需要的路径即可,



Private Sub Form_Load()
Dim fname As String
Dim student As String
Dim folderName As String


folderName = "d:\123" '此处换为你指定的目录即可


fname = Dir(folderName & "\*.*", 7)
List1.Clear
Do
If fname = "" Then Exit Do
List1.AddItem fname
fname = Dir()
Loop


End Sub

全部回答
  • 1楼网友:第幾種人
  • 2021-07-30 16:46

vb获取目录下所有文件夹名称的方法

Private Sub Form_Load() Dim sB As String Dim sF As String Dim c As Integer Combo1.Clear c = 0 Path = "\\10.56.88.102\blzxphoto\" sB = Path sF = Dir(sB, vbDirectory) ' 查找目录中第一个文件夹名称 Do While sF <> "" ' 跳过当前的目录及上层目录 If sF <> "." And sF <> ".." Then If (GetAttr(sB + sF) And vbDirectory) = vbDirectory Then Combo1.AddItem sF ' 如果它是一个目录,将其名称添加到 Combo1 列表 c = c + 1 End If End If sF = Dir ' 查找下一个目录 Loop MsgBox c Combo1.ListIndex = 0 '选择第一项 End Sub

语法 Dir[(pathname[, attributes])] Dir 函数的语法具有以下几个部分: 部分 描述 pathname 可选参数。用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到 pathname,则会返回零长度字符串 ("")。 attributes 可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配 pathname 但不包含属性的文件。 设置值 attributes 参数的设置可为: 常数 值 描述 vbNormal 0 (缺省) 指定没有属性的文件。 vbReadOnly 1 指定无属性的只读文件 vbHidden 2 指定无属性的隐藏文件 VbSystem 4 指定无属性的系统文件 vbVolume 8 指定卷标文件;如果指定了其它属性,则忽略vbVolume vbDirectory 16 指定无属性文件及其路径和文件夹。 注意 这些常数是由 VBA 所指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的数值。 说明 Dir 支持多字符 (*) 和单字符 (?) 的通配符来指定多重文件。 由于 Macintosh 不支持通配符,使用文件类型指定文件组。可以使用 MacID 函数指定文件类型而不用文件名。比如,下列语句返回当前文件夹中第一个TEXT文件的名称: Dir("SomePath", MacID("TEXT")) 为选中文件夹中所有文件,指定一空串: Dir("") 在 Microsoft Windows 中,如果在Dir函数中使用MacID函数,将产生错误。 任何大于256的attribute值都被认为是MacID 函数的值。 在第一次调用 Dir 函数时,必须指定 pathname,否则会产生错误。如果也指定了文件属性,那么就必须包括 pathname。 Dir 会返回匹配 pathname 的第一个文件名。若想得到其它匹配 pathname 的文件名,再一次调用 Dir,且不要使用参数。如果已没有合乎条件的文件,则 Dir 会返回一个零长度字符串 ("")。一旦返回值为零长度字符串,并要再次调用 Dir 时,就必须指定 pathname,否则会产生错误。不必访问到所有匹配当前 pathname 的文件名,就可以改变到一个新的 pathname 上。但是,不能以递归方式来调用 Dir 函数。以 vbDirectory 属性来调用 Dir 不能连续地返回子目录。 提示 由于文件名并不会以特别的次序来返回,所以可以将文件名存储在一个数组中,然后再对这个数组排序。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯