ACCESS Dir関数でファイルやフォルダの有無を調べる方法

Dir関数でファイルやフォルダの有無を調べる方法

ACCESSからExcelやcsvにファイルを出力する場合、フォルダを指定して出力することがあります。
また逆に、ExcelやcsvのファイルをACCESSに取り込む際にもファイルやフォルダの指定が発生します。

そんな時に指定したファイルやフォルダが存在しないとエラーが出てしまいます。
そこで使えるのがDir関数です。

今回は、Dir関数でファイルやフォルダの有無を調べる方法をご紹介します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSをもっと使いこなしたい方向けにACCESSの関数をご紹介していきます。

Dir関数の構文

ファイルやフォルダの存在を調べる際に利用するのがDir関数です。
Dir関数は以下の構文で利用します。

Dir ( ファイルやフォルダのパス )

非常に簡単な構文ですね。
ファイルやフォルダのパスを指定し、そのファイルやフォルダが存在しない場合は、空白(””)が返されますのでこれで存在チェックができます。

なお、引数に指定するファイルやフォルダのパスは文字列型にする必要があるため、”(ダブルクォーテーション)で囲むことを忘れないようにしましょう。

Dir関数の利用例

Dir関数を利用するのは、ファイルやフォルダを指定してACCESSへのインポートやエクスポートを行うタイミングでしょう。

インポート、エクスポートを行う際に、指定したフォルダやファイルがないと予期せぬエラーが発生してしまいます。
そのために、処理前にDir関数でかならず存在チェックをしておくのがお勧めです。

例えば以下のように利用することができます。


Public Sub folder_exist(path As String)

    If Dir(path) <> "" Then
    
        MsgBox "OK", vbOKOnly + vbInformation
    
    Else
    
        MsgBox "指定されたフォルダが存在しません。", vbOKOnly + vbCritical, "フォルダ指定不備"
    
    End If

End Sub
 

上記のプロシージャ、folder_existは引数にpathを指定し、Dir関数を使ってpathが存在すればOKを表示し、存在しなければメッセージを表示します。

実際に利用する場合はOKを表示する部分を正常系の処理へ書き換えるか、NGになった場合の処理にExit Subを追記してイベントプロシージャを終了させつつ、If文の後に正常系の処理を追加するとよいでしょう。

以上、Dir関数でファイルやフォルダの有無を調べる方法をご紹介しました。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

サービス一覧

最後までお読みいただき、ありがとうございました。