フォルダに対する処理を行う際は、フォルダの有無を確認してから処理を行うことを推奨します。
存在しないフォルダにアクセスすると、エラーが発生して処理が止まってしまいます。
その対策として、フォルダの有無を確認してフォルダが有る場合に次の処理を行うようにします。

【関数化】
' ------------------------------------------------------------
' 説明:フォルダの有無を確認する
' 引数:1:確認するフォルダ名
' 戻値:フォルダがある場合:True
' フォルダが無い場合:False
' ------------------------------------------------------------
Function IsFolderExists(foldername As String) As Boolean
Dim fso As Scripting.FileSystemObject
Set fso = New Scripting.FileSystemObject ' オブジェクトの作成
IsFolderExists = fso.FolderExists(foldername) ' フォルダの有無を確認
End Function
【補足】
Scripting.FileSystemObject を使用しています。
初期設定では、エラーが発生するので、参照設定「Microsoft Scripting Runtime」の設定が必要です。
ファイルの有無を確認する 場合はリンクを参照してください。
ファイルとフォルダのどちらかの有無を確認するには、組み合わせによって行います。
' ------------------------------------------------------------
' 説明:ファイルもしくはフォルダの有無を確認する
' 引数:1:確認するファイルもしくはフォルダ名
' 戻値:ファイルもしくはフォルダがある場合:True
' ファイルもしくはフォルダが無い場合:False
' ------------------------------------------------------------
Function IsExists(name As String) As Boolean
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(name) = True Then ' フォルダの有無を確認
IsExists = True
Else
IsExists = fso.FileExists(name) ' ファイルの有無を確認
End If
End Function


コメント