従来通りの Dir 関数によるファイルの存在チェック (Bの方法) 以外に Exists を使用した 2通りの方法を説明します
@の方法の場合はパス名にワイルドカード文字が含まれていると例外が発生するので Try Catch で対応しています
Aの方法ではワイルドカード文字を使用しても例外は発生しませんでした
Dir 関数でのファイルチェックは隠しファイルを判断するためにはファイル属性を指定する必要があったのですが Exists を使用し
た方法の場合には 下記の記述のままで存在チェックができます
逆に言うと 隠しファイルは除いてチェックする場合はファイル属性の判定が追加になります
@及びAの方法は VB.NET から使用可能ですが Bの方法 (判定部分のみ)であれば VB6 でも使用可能です
@ Try If (New System.IO.FileInfo("C:\Windows\Notepad.exe").Exists()) Then Debug.WriteLine("ファイルは存在します") End If Catch ex As Exception Debug.WriteLine(ex.Message) End Try A If System.IO.File.Exists("C:\Windows\Notepad.exe") Then Debug.WriteLine("ファイルは存在します") End If B If (UCase(Dir("C:\Windows\Notepad.exe")) = "NOTEPAD.EXE")) Then Debug.WriteLine("ファイルは存在します") End If
※Dir 関数が返すファイル名を判定する場合は大文字と小文字の区別を行う必要があります
ここでは Ucase 関数を使用して 文字列をすべて大文字に変換してから判定しています