如何使用VB6获取目录中所有文件名的列表?

8

在VB6中,循环遍历指定文件夹中的所有文件并获取它们的名称最简单的方法是什么?

6个回答

18
sFilename = Dir(sFoldername)

Do While sFilename > ""

  debug.print sFilename 
  sFilename = Dir()

Loop

真可惜,你抢先一步了 :P 这里有一个MSDN的参考文章: http://msdn.microsoft.com/zh-cn/library/aa262726(VS.60).aspx - Peter C.

12
Dim fso As New FileSystemObject
Dim fld As Folder
Dim fil As File
Set fld = fso.GetFolder("C:\My Folder")
For Each fil In fld.Files
  Debug.Print fil.Name
Next
Set fil = Nothing
Set fld = Nothing
Set fso = Nothing

5

DJ的解决方案简单而有效,只是为了提供一种更多功能的方式,需要引用Microsoft Scripting Runtime。

Dim fso As New FileSystemObject
Dim fil As File

For Each fil In fso.GetFolder("C:\").Files
  Debug.Print fil.Name
Next

2

对于VB6来说,这个问题很棘手: 只需获取磁盘/项目目录中保存的所有项目.frm文件的位置即可。

Dim CountVal As Integer CountVal = 0 cbo.Clear

sFilename = Dir(App.Path & "\Forms\")
Do While sFilename > ""
  If (Right(sFilename, 4) = ".frm") Then
  cbo.List(CountVal) = Left(sFilename, (Len(sFilename) - 4))
  CountVal = CountVal + 1
  End If

   sFilename = Dir()
Loop

0

创建名称为browseButton的按钮

创建名称为List1的文件列表框

在设计中双击按钮

代码应该如下所示

Private Sub browseButton_Click()

Dim path  As String
path = "C:\My Folder"

List1.path() = path
List1.Pattern = "*.txt"
End Sub

完成了,现在运行它


0
您可以使用以下的演示代码:
Dim fso As New FileSystemObject
Dim fld As Folder
Dim file As File
Set fld = fso.GetFolder("C:\vishnu")
For Each file In fld.Files
  msgbox file.Name
Next

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接