CD-Rに焼いた画像ファイル(jpgファイル)を、FileListBoxで一覧表示
したところ、実際保存されているはずの数よりいくつか少ないことが
ありました。エクスプローラーで確認すると、確かに存在し、開くこ
とも出来るファイルなのですが、なぜかFileListBoxで表示されませ
ん。
試しに、以下のようなDir関数でファイルの総数をとるループをくん
でみたところ、
Sub Test()
Dim sPath As String
Dim i As Integer
Dim sFname As String
sPath = "E:\Pic\*.jpg"
i = 0
sFname = Dir(sPath, vbNormal)
Do While sFname <> ""
If sFname <> "." And sFname <> ".." Then
i = i + 1
End If
sFname = Dir()
Loop
End Sub
(EドライブはCD-ROMドライブで、「Pic」フォルダは実際には日本語
名のフォルダです。このフォルダ内には日本語でつけた名前のjpgファ
イルが299個存在します)
実行した際に「sFname = Dir()」のところで
プロシージャの呼び出し、または引数が不正です。
というメッセージのエラーが発生してしまいます。このとき、iの数は
269でした(本当なら299個あるはず)。
試しに別のCD-ROMドライブを搭載した別のマシンで試したところ、こ
ちらではなぜか全く問題なくFileListBox表示およびDir関数でのカウ
ントを行うことが出来ました。
これはDir関数のバグ?なのでしょうか?CD-Rとの相性でしょうか?
環境は何れもWindowsXPで、VB6です。
よろしくお願いいたします。
ツイート | ![]() |