Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


35202 / 76732 ←次へ | 前へ→

【46732】Re:フォルダ検索
回答  Kein  - 07/2/13(火) 14:17 -

引用なし
パスワード
   DOSコマンドのDIRで、My Documentsフォルダー内のサブフォルダーを
一気にシートへ書き出し、数式を使って該当するものを判定、抽出処理
します。C:\My Documents というのは Win98以前のパスなので、
DOSプロンプトを出す "COMMAND.COM" にしておきましたが、Win2000/XP
ならコマンドプロンプトの "CMD.EXE" にして下さい。(定数 CmdSt の値)

Sub SEARCH_DIR()
  Dim WshShell As Object, oExec As Object
  Dim i As Long
  Dim MyDoc As String, MyRet As String
  Const CmdSt As String = "COMMAND.COM /C DIR /A:D /B /S "
  '↑Win2000/XPの場合は COMMAND.COM → CMD.EXE に変更する
  
  Set WshShell = CreateObject("WScript.Shell")
  MyDoc = WshShell.SpecialFolders("MyDocuments") & "\*"
  Application.ScreenUpdating = False
  Set oExec = WshShell.Exec(CmdSt & """" & MyDoc & """")
  Do Until oExec.StdOut.AtEndOfStream
   MyRet = oExec.StdOut.ReadLine: i = i + 1
   Cells(i, 1).Value = MyRet
  Loop
  Set oExec = Nothing: Set WshShell = Nothing
  With Range("A1", Range("A65536").End(xlUp)).Offset(, 255)
   .Formula = "=IF(OR(ISERR(FIND(""表"",$A1))," & _
   "ISERR(FIND(""単価"",$A1)),ISERR(FIND(""株"",$A1))),1)"
   .SpecialCells(3, 1).EntireRow.Delete xlShiftUp
   .ClearContents
  End With
  Application.ScreenUpdating = True
End Sub

1 hits

【46716】フォルダ検索 みな 07/2/13(火) 10:23 質問
【46717】Re:フォルダ検索 neptune 07/2/13(火) 10:55 回答
【46734】Re:フォルダ検索 みな 07/2/13(火) 14:37 お礼
【46732】Re:フォルダ検索 Kein 07/2/13(火) 14:17 回答
【46733】Re:フォルダ検索 みな 07/2/13(火) 14:33 質問
【46735】Re:フォルダ検索 Kein 07/2/13(火) 14:51 回答
【46741】Re:フォルダ検索 みな 07/2/13(火) 17:01 お礼
【47040】Re:フォルダ検索(再び) みな 07/2/26(月) 17:08 質問
【47041】Re:フォルダ検索(再び) Kein 07/2/26(月) 18:12 回答
【47051】Re:フォルダ検索(再び) みな 07/2/27(火) 9:40 質問
【47052】Re:フォルダ検索(再び) みな 07/2/27(火) 9:52 お礼

35202 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free