| 
    
     |  | 特定フォルダ下のファイル一覧を取得するため、後述のコードを実行しました。 フォルダの中にたくさんファイルが有ると(※)、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様のコードを一部変更して使用させて頂いています。
 
 
 |  |