|
特定フォルダ下のファイル一覧を取得するため、後述のコードを実行しました。
フォルダの中にたくさんファイルが有ると(※)、WSH.Execが終わりません。
終わらない理由、回避策等ご存知の方がいらっしゃいましたら
ご教示お願いします。
※環境依存するかも知れませんが、私のPCでは下記で再現。
sample.xls (257KB)
コピー 〜 sample.xls
コピー (2) 〜 sample.xls
コピー (3) 〜 sample.xls
: : :
コピー (84) 〜 sample.xls
Sub Sample1()
Dim WSH, wExec, sCmd As String, Result As String, tmp, i As Long
Cells.Clear
Set WSH = CreateObject("WScript.Shell")
sCmd = "dir ""D:\Program Files\test\"" /S/B"
Set wExec = WSH.Exec("%ComSpec% /c " & sCmd)
Do While wExec.Status = 0
DoEvents
Loop
Result = wExec.StdOut.ReadAll
tmp = Split(Result, vbCrLf)
For i = 0 To UBound(tmp)
Cells(i + 1, 1) = tmp(i)
Next i
Set wExec = Nothing
Set WSH = Nothing
End Sub
Office TANAKA様のコードを一部変更して使用させて頂いています。
|
|