• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイル名の取得)

ファイル名の取得方法についての質問

このQ&Aのポイント
  • 指定したフォルダ(IEキャッシュ)のサブフォルダ以下のファイル名を取得しようとしていますが、うまくいきません。どこが間違っているのかアドバイスをお願いします。
  • Win98se、VB6.0sp5、IE5.5sp2の環境で、指定したフォルダ(IEキャッシュ)のサブフォルダ以下のファイル名を取得しようとしていますが、どのようにすれば成功するでしょうか?
  • ファイル名の取得方法についてアドバイスをお願いします。指定したフォルダ(IEキャッシュ)のサブフォルダ以下のファイル名を取得しようとしていますが、できません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

\Temporary Internet Files や \CONTENT.IE5 はシステム属性になっているのでDir関数をとるときに属性指定が必要です。 FolderName = Dir("C:\WINDOWS\Temporary Internet Files\CONTENT.IE5\*.*", vbDirectory+vbSystem) のように属性指定にvbSystemを加えます。それでもダメならさらにvbHiddenも加えて見てください。 同様にそのフォルダのファイルを検索するときにも属性指定が必要です。

adachi
質問者

お礼

再度回答していただき、本当にありがとうございます。 「+vbSystem」を加えることにより、無事「\CONTENT.IE5 」フォルダ名を取得することができました。 Hayashi_Trekさんの親身な回答にとても感謝しています。 ありがとうございました。

その他の回答 (1)

回答No.1

Dir関数の引数は、フォルダ名部分にワイルドカードは使えません。 まず FolderName = Dir("C:\WINDOWS\Temporary Internet Files\CONTENT.IE5\*.*",vbDirectory) でフォルダ名を取得して、そのフォルダに対して FileName = Dir("C:\WINDOWS\Temporary Internet Files\CONTENT.IE5\"+FolderName+"\*.gif",vbNormal) としてファイル名を取得します。

adachi
質問者

お礼

早速の回答をしていただき、本当にありがとうございます。 初心者である私に親切な回答がとても助かりました。 今から試してみますが、まだ未熟であるために時間がどのくらいかかるやら(苦笑)結果報告は後日させていただきます。 ありがとうございました。

adachi
質問者

補足

以下のコードで試してみました。 しかしながら、「CONTENT.IE5」フォルダ以下のサブフォルダを拾えませんでした。 「CONTENT.IE5」の(システム?)フォルダ名を取得するには、どのような方法があるのでしょうか?度重なる相談をしてしまい、大変申し訳ありません、、、 ---------------------------------- Private Sub Form_Load() Dim FolderName FolderName = Dir("C:\WINDOWS\Temporary Internet Files\CONTENT.IE5\*.*", vbDirectory) Do While FolderName <> "" MsgBox FolderName FolderName = Dir Loop end sub --------------------------

専門家に質問してみよう