目安箱 IV

目安箱投稿のルールはこちらをごらんください。
ご意見は電子メールで承っています。
「目安箱」は質問禁止です。技術的な質問はそれぞれの質問箱へどうぞ。

迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
211 / 277 ←次へ | 前へ→

【75】Re:FilePathを列挙するサンプル
全般  ちゃっぴ  - 04/9/14(火) 0:03 -

引用なし
パスワード
   【その2 コマンドプロンプトDIRコマンド Version】

【要参照】「Windows Scripting Host Object Model」

Sub EnumFilePathList()
  Dim objWshShell   As wshShell
  Dim objFSO     As FileSystemObject
  Dim objRedirectFile As File
  Dim objRedirectTXT As TextStream
  Dim strTargetPath  As String    '対象フォルダパス
  Dim strRedirectPath As String    '一時ファイルパス
  Dim lngReturn    As Long
  Dim varFileList   As Variant
  Dim varFilePath   As Variant
  
  Set objWshShell = New wshShell
  Set objFSO = New FileSystemObject
  
  lngReturn = objWshShell.Run("CMD /C DIR """ & strTargetPath _
    & """ /A-D /B /S > """ & strRedirectPath & """", 7, True)
  Set objWshShell = Nothing

  If lngReturn = 0 Then
    Set objRedirectFile = objFSO.GetFile(strRedirectPath)
    Set objRedirectTXT = objRedirectFile.OpenAsTextStream
    
    varFileList = Split(objRedirectTXT.ReadAll)
    
    For Each varFilePath In varFileList
      Debug.Print varFilePath
    Next varfilpath
    
    objRedirectTXT.Close
    objRedirectFile.Delete
    
    Set objRedirectTXT = Nothing
    Set objRedirectFile = Nothing
  End If
  Set objFSO = Nothing
End Sub

ファイルの入出力を介しますが、FSOよりも動作が速いのが魅力です。
また、サブフォルダの検索のOn/Offをオプション"/S"だけで
切り替えられるのも魅力です。

ただ、残念なことにOSに依存します。
7,123 hits

【74】FilePathを列挙するサンプル ちゃっぴ 04/9/13(月) 23:57 全般[未読]
【75】Re:FilePathを列挙するサンプル ちゃっぴ 04/9/14(火) 0:03 全般[未読]
【76】FilePathを列挙するサンプル(API) ちゃっぴ 04/9/14(火) 1:37 全般[未読]
【77】Re:FilePathを列挙するサンプル(API) ちゃっぴ 04/9/14(火) 1:50 全般[未読]

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
211 / 277 ←次へ | 前へ→
ページ:  ┃  記事番号:   
0
(SS)C-BOARD v3.8 is Free