Excel VBA質問箱 IV

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

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


34894 / 76732 ←次へ | 前へ→

【47041】Re:フォルダ検索(再び)
回答  Kein  - 07/2/26(月) 18:12 -

引用なし
パスワード
   パスに半角スペースが含まれる場合、そこで区切られてコマンドの引数の一つ
とみなされてしまいます。それを正しくパスとして認識させるためには、"" で
囲むか「8.3 形式のファイル名」に変換する必要があります。ま、"" 囲む方が
簡単なので、以下のように修正してみて下さい。それでうまくいかない場合は、
後者のコードをお教えします。

Sub SEARCH_DIR()
  Dim WshShell As Object, oExec As Object
  Dim i As Long
  Dim MyDoc As String, CmdSt As String, Ret As String

  MyDoc = Trim(Range("A1").Value)
  If Dir(MyDoc, 16) = "" Then
   MsgBox "そのフォルダーは見つかりません", 48: Exit Sub
  End If
  CmdSt = "Cmd.exe /C DIR /A:D /B /S " & """" & MyDoc & "\*"""""
  Set WshShell = CreateObject("WScript.Shell")
  Application.ScreenUpdating = False
  Set oExec = WshShell.Exec(CmdSt)
  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

0 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 お礼

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