こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VBScriptでファイル検索

こんにちは。
Dドライブのどこかにある「あいうえお.xls」ファイルのパス
をメッセージ表示するようなスクリプトを作りましたが、上手
く表示されません。どこに不具合があるのか、ご教授ください。
お願いいたします。
Option Explicit
Dim FSO,File,SubFolder
Set FSO = CreateObject("Scripting.FileSystemObject")
ShowSubfolders FSO.GetFolder("D:\")
Sub ShowSubFolders(Folder)
For Each File in Folder.Files
If File.Name = "あいうえお.xls" then
     Wscript.Echo File.path
End If
Next
For Each Subfolder in Folder.SubFolders
ShowSubFolders Subfolder
Next
Set FSO = Nothing
End Sub

投稿日時 - 2009-01-29 20:44:37

QNo.4672143

暇なときに回答ください

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

訂正です。
X = Folder.Files
    ↓
X = Folder.Files.Count

投稿日時 - 2009-01-30 18:57:46

お礼

nda23さん、こんにちは。
教えていただいたコードで上手く実行されました!
更にWSHについて学を深めたいと思います。
どうもありがとうございました。

投稿日時 - 2009-02-02 08:32:36

ANo.3

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

アクセス権限が無いためでしょう。
次の文を追加してみてください。
'== ここから ==
Dim X
On Error Resume Next
X = Folder.Files
On Error GoTo 0
If IsEmpty(X) Then Exit Sub
'== ここまで ==
For Each File ~

投稿日時 - 2009-01-30 13:47:10

ANo.1

Set FSO = Nothing
End Sub
    ↓
End Sub
Set FSO = Nothing

投稿日時 - 2009-01-29 21:03:58

補足

nda23さん、こんにちは。ご指導ありがとうございます。
そのご指摘とは別に、スクリプトを実行しようとすると、
For Each File in Folder.Files のところで、
「実行時エラー:書き込みできません」で実行できません。
試しに、If File.Name = "あいうえお.xls" の条件をとると、
実行しファイルのパスを表示するのですが、Dドライブに存在
している7つあるフォルダの内、1つのフォルダとRECYCLER(ごみ箱?)
というフォルダを表示後、「実行時エラー:書き込みできません」で
停止してしまいます。OSはWindowsXP WSHのバージョンは5.7で実行
しております。引き続きご教授いただければ幸いです。
よろしくお願いいたします。

投稿日時 - 2009-01-30 10:37:57

あなたにオススメの質問