小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

ファイル存在チェック(DIR関数の謎の動き)

VBでファイル存在チェックをするときは、とりあえず、DIR関数が使えますが、DIR関数は本来ディレクトリ内のリストを求めるものです。

また、DIR関数を複数入れ子で使うと謎の動きをします。たぶん、ひとつのポインター複数のDIR関数が共有するものと推測します。

ですので、ファイル存在チェックは、APIのPathFileExists()を使いましょう!

VBでのAPIのPathFileExists()サンプル

    Declare Function PathFileExists Lib "shlwapi" Alias "PathFileExistsA" (ByVal lpszPath As String) As Long
    
    If PathFileExists("TEST.TXT") = 0 Then
       'MsgBox "TEST.TXTファイルが存在しません。
    End If

Pathで指定したファイルが実際に存在する場合、真(0以外)が返される。存在しない場合、偽(0)が返される。