web-dev-qa-db-ja.com

VB6を使用してディレクトリ内のすべてのファイル名のリストを取得するにはどうすればよいですか?

指定されたフォルダディレクトリ内のすべてのファイルをループしてそれらの名前を取得するVB6の最も簡単な方法は何ですか?

8
Ray Vega
sFilename = Dir(sFoldername)

Do While sFilename > ""

  debug.print sFilename 
  sFilename = Dir()

Loop
16
DJ.
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
11
bigsancho

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
4
raven

'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
1
Sajid Dewan

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

今それを実行します

0
Janardhan G

次のデモコードを使用できます。

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
0
Codemaker