指定されたフォルダディレクトリ内のすべてのファイルをループしてそれらの名前を取得するVB6の最も簡単な方法は何ですか?
sFilename = Dir(sFoldername)
Do While sFilename > ""
debug.print sFilename
sFilename = Dir()
Loop
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
DJの solution はシンプルで効果的で、FileSystemObjectが提供できる機能がもう少し必要な場合に備えて、別の機能を破棄するだけです(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
'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
name = browseButtonのボタンの作成name = List1のfilelistboxの作成
デザインのボタンをダブルクリック
コードは次のようになります
Private Sub browseButton_Click()
Dim path As String
path = "C:\My Folder"
List1.path() = path
List1.Pattern = "*.txt"
End Sub
今それを実行します
次のデモコードを使用できます。
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