CD-Rに焼いたデータをDIR関数で検索すると発生するエラーをどうにかしたい


なおなお  2006-08-04 04:26:45  No: 132601

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です。

よろしくお願いいたします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加