![]()
筆箱にVBAのカンニングペーパーを入れる係のみすくです。こんにちは。
指定ディレクトリ配下(サブディレクトリを含む)すべてのファイルに処理をするコード。
‘ツール > 参照設定 > Microsoft Scripting Runtime

Option Explicit
'---------------------------------------------------------------------------------------------------
'【処 理 名】ディレクトリ操作
'【処理概要】指定ディレクトリ配下のファイルすべてに処理
'【引 数】[I]ByVal sTopPath As String ディレクトリパス
'【返 却 値】 なし
'---------------------------------------------------------------------------------------------------
Public Sub scanDirectory(ByVal sTopPath As String)
'ツール > 参照設定 > Microsoft Scripting Runtime
Dim oFso As New FileSystemObject 'ファイルシステムオブジェクト
Dim oTopDir As Folder '先頭ディレクトリ
Dim oDir As Folder 'ディレクトリ
Dim oFile As File 'ファイル
On Error GoTo Term
'先頭ディレクトリオブジェクト取得
Set oTopDir = oFso.GetFolder(sTopPath)
'ディレクトリ配下のディレクトリパス名を取得する
For Each oDir In oTopDir.SubFolders
'ショートカット以外
If oDir.Attributes <> Alias Then
'再帰
Call scanDirectory(oDir.Path)
End If
Next
'ディレクトリ直下のすべてのファイル
For Each oFile In oFso.GetFolder(sTopPath).Files
'ファイルごとの処理
'Debug.Print (oFile.Name)
Next
Term:
Set oFso = Nothing
Set oTopDir = Nothing
Set oDir = Nothing
Set oFile = Nothing
End Sub
最近のコメント

コメントを残す