Access VBA入門:フォルダの作成と削除 - MkDir・RmDirの使い方

AccessのVBAでフォルダを作成するにはMkDirステートメント、削除するにはRmDirステートメントを使います。

BackHome BackVBA入門

ここではフォームにコマンドボタンを配置し、クリックすると作成または削除するようにします。

MkDirを実行し、もし同名のフォルダが既に存在する場合などはエラーになります。

RmDirを実行し、もしフォルダが存在しない場合などはエラーになります。

そこで「On Error Goto」を使ったエラー処理方法も解説しています。




ステートメントの構文

MkDirの構文 : Mkdir 作成するフォルダのPath

RmDirの構文 : Rmdir 削除するフォルダのPath


フォルダを作成・削除するフォームを作成する

フォームデザインでフォームを新規作成し、[フォルダの作成]と[フォルダの削除]のコマンドボタンを配置します。
コマンドボタンの表示は、標題プロパティで設定できます。
フォルダを作成・削除するフォーム

初めにフォルダの作成を作成します。
[フォルダの作成]ボタンを選択した状態で、クリック時プロパティを[イベントプロシージャ]にします。
次に右端の[…]ボタンをクリックします。
コマンドボタンのクリック時プロパティ

VBAの入力画面が開き、クリックイベントのVBAが自動的に表示されるので、下記のように変更します。
MkDirを使用しフォルダを作成するVBA

MkDirを使用しフォルダを作成するVBAです。

Private Sub コマンド0_Click()
    MkDir "e:\test\access"
End Sub

エラー処理を行うVBAの作成

上のコードを実行し、もし既に同名のフォルダが存在する場合「実行時エラー'75':パス名が無効です」のエラーメッセージを表示し停止します。
エラーメッセージを表示し停止したフォーム

「On Error Goto」を挿入し、エラー処理を行うVBAです。
「On Error Goto」を挿入し、エラー処理を行うVBA

MkDirでエラーが発生しなかった場合は、Exit Subでプロシージャを抜けます。
もしエラーが発生した場合は、ErrExitラベルにジャンプし、メッセージを表示します。
Err.Descriptionはエラーの内容を表示するプロパティです。

Private Sub コマンド0_Click()
On Error GoTo ErrExit
    MkDir "e:\test\access"
    Exit Sub

ErrExit:
    MsgBox "エラーが発生しました。" & Err.Description
End Sub

エラー処理を追加したVBAを実行すると「エラーが発生しました。パス名が無効です。」のメッセージが表示されました。
このように事前にエラーが起こることを察知し対策することで、プログラマはアプリをコントロールできます。
エラー処理を追加したVBAを実行

[フォルダの削除]ボタンも同様に、クリックイベントに入力します。
[フォルダの削除]ボタンのクリックイベント

RmDirを使用しフォルダを削除するVBAです。
同様に「On Error Goto」でエラー処理をおこなっています。

Private Sub コマンド1_Click()
On Error GoTo ErrExit
    RmDir "e:\test\access"
    Exit Sub

ErrExit:
    MsgBox "エラーが発生しました。" & Err.Description
End Sub

フォルダ関連のVBAで「ファイル、フォルダの存在確認 」を掲載していますので参考にしてください。



BackHome BackVBA入門

Copyright(C) FeedSoft