アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんばんは。

指定したフォルダ(IEキャッシュ)のサブフォルダ以下のファイル名を取得しようとしています。
コードは次のとおりなのですが、ファイル名の取得ができません。どこがまずいのか、是非アドバイスを下さい。
よろしくお願いします。

--------------------------
Private Sub Form_Load()
Dim FileName As String

FileName = Dir("C:\WINDOWS\Temporary Internet Files\CONTENT.IE5\*\*.gif")
MsgBox FileName

End Sub
---------------------------

**環境**
Win98se , VB6.0sp5 ,IE5.5sp2

A 回答 (2件)

\Temporary Internet Files や \CONTENT.IE5 はシステム属性になっているのでDir関数をとるときに属性指定が必要です。



FolderName = Dir("C:\WINDOWS\Temporary Internet Files\CONTENT.IE5\*.*", vbDirectory+vbSystem)

のように属性指定にvbSystemを加えます。それでもダメならさらにvbHiddenも加えて見てください。

同様にそのフォルダのファイルを検索するときにも属性指定が必要です。
    • good
    • 0
この回答へのお礼

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

Hayashi_Trekさんの親身な回答にとても感謝しています。
ありがとうございました。

お礼日時:2002/05/11 23:16

Dir関数の引数は、フォルダ名部分にワイルドカードは使えません。



まず
FolderName = Dir("C:\WINDOWS\Temporary Internet Files\CONTENT.IE5\*.*",vbDirectory)
でフォルダ名を取得して、そのフォルダに対して
FileName = Dir("C:\WINDOWS\Temporary Internet Files\CONTENT.IE5\"+FolderName+"\*.gif",vbNormal)
としてファイル名を取得します。

この回答への補足

以下のコードで試してみました。
しかしながら、「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
--------------------------

補足日時:2002/05/11 01:26
    • good
    • 0
この回答へのお礼

早速の回答をしていただき、本当にありがとうございます。
初心者である私に親切な回答がとても助かりました。

今から試してみますが、まだ未熟であるために時間がどのくらいかかるやら(苦笑)結果報告は後日させていただきます。

ありがとうございました。

お礼日時:2002/05/11 00:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!