Windows 11 & Office 2021 Access 2021

アプリケーションの終了ボタンを押した時にメッセージを出すには

投稿日:2023年7月6日 更新日:

Accessのフォームには[閉じる]ボタンを無効にする設定がありますが、アプリケーションの[閉じる]ボタンを無効にする設定はありません。

しかし、アプリケーションの[閉じる]ボタンで閉じて欲しくない場合もあると思います。

常に表示しているフォームの[読み込み解除時]のイベントを利用して、メッセージを出すことはできますので、その方法をマクロで紹介します。

アプリケーションの[閉じる]ボタンをクリックしたときのメッセージウィンドウ

フォームの[終了]ボタン

起動時には、メニューフォームを表示して、コマンドボタンで先の実行を選択するようにしていることが多いと思います。

以下のようなメニューフォームを使って解説します。

作成済みのメニューフォーム

参考ここでは、ウィンドウの表示は[ウィンドウを重ねて表示する]にしています。

[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い

Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...

続きを見る

フォームの[閉じるボタン]を無効

フォームの[閉じる]ボタンを無効にするには、フォームをデザインビューで開いて[フォームのプロパティ]を表示します。

プロパティシートは、[ツール]グループの[プロパティシート]をクリックして表示しますが、キーボードから[F4]キーを押しても表示/非表示の切り替えができます。

キーボード[F4]

[書式]タブの[閉じるボタン]を[いいえ]にします。

[最大化/最小化ボタン]を非表示にする場合は、[なし]を選択します。

以下のフォームは、[境界線スタイル]を[ダイアログ]にしているため[最小化/最大化]ボタンは自動的に非表示になります。

フォームのプロパティシート[閉じるボタン]-[いいえ]

以下のようにフォームの[閉じる]ボタンは無効になります。

[閉じる]ボタンが無効のフォーム

[終了]ボタンにマクロを設定

メニューフォームの[終了]ボタンには、Accessを終了させるマクロを設定します。

標題[終了]としたコマンドボタンを選択して、プロパティを表示します。

[イベント]タブの[クリック時]の[ビルダー選択]ボタン[…]をクリックして、[ビルダーの選択]ダイアログボックスを表示します。

[マクロビルダー]ダイアログボックスを選択して[OK]ボタンをクリックします。

[終了]コマンドボタンのクリック時イベント-[ビルダーの選択]ダイアログボックス

[マクロデザイン]が表示されますので、[新しいマクロアクション]の▼ボタンをクリックして、マクロアクションの一覧から[Accessの終了]を選択します。

[アクションカタログ]から選択してマクロウィンドウへ追加する方法もあります。

マクロアクションの[Accessの終了]

上書き保存して閉じます。

マクロデザインの[上書き保存]と[閉じる]ボタン

[終了]ボタンのプロパティの[クリック時]には、[埋め込みマクロ]と表示されます。

[終了]ボタンのプロパティの[クリック時]-[埋め込みマクロ]

これでフォームの[終了]ボタンをクリックしてAccessを終了できます。

しかし、操作中に間違えてアプリケーションの[閉じる]ボタンをクリックして終了させてしまうこともあります。

また、終了時に何らかの処理をしている場合などは、アプリケーションの[閉じる]ボタンで終了されるのは避けたいと思うこともあるでしょう。

それを回避するための方法です。

フォームの[終了]ボタンとアプリケーションの[閉じる]ボタン

[閉じる]ボタンを押した時にメッセージを表示するには

チェックボックスを作成して、[True]なら閉じて、[False]ならメッセージを表示します。

そして、そのメッセージには[終了]ボタンを使うように表示します。

チェックボックスの作成

フォームにチェックボックスを作成します。

[フォームデザイン]タブの[コントロール]グループにある[コントロール]から[チェックボックス]を選択して挿入します。

ラベルは不要なので、[Ctrl]キーを押したまま任意の位置へドラッグします。作成後は見えなくします。

[Ctrl]キーを押しながらドラッグで描画すると、チェックボックスのみを追加できます。

チェックボックスの挿入

チェックボックスのプロパティを表示して、チェックがオフの状態になるように[データ]タブで[既定値]は[0]にします。

チェックボックスの名前は憶えておいてください。

ここでは、[チェック5]です。

チェックボックスのプロパティ[既定値]-[0]

参考名前を変更する場合は、[その他]タブの[名前]に入力します。

チェックボックスのプロパティ[名前]

[終了]ボタンにマクロアクションを追加

フォームの[終了]ボタンにマクロアクションを追加します。

[終了]ボタンのプロパティを開いて、[イベント]タブの[クリック時]で[…」をクリックします。

[終了]ボタンのクリック時イベント

[すべてのアクションを表示]をクリックして、[新しいアクションの追加]で[値の代入]を選択します。

下から、4番目にあります。

[アクションカタログ]から選択してマクロウィンドウへ追加する方法もあります。

マクロデザインで[値の代入]を追加

[値の代入]のアイテムと式に以下を入力します。

アイテム=[チェック5]

式=True

そして、[上へ移動]ボタンをクリックします。

[値の代入]の[アイテム]と[式]

以下のようになったら、上書き保存して閉じます。

マクロデザインの[上書き保存]と[閉じる]ボタン

[読み込み解除時]のマクロ

次に、フォームのプロパティ[読み込み解除時]にマクロを設定します。

[イベント]タブの[読み込み解除時]の[ビルダー選択]ボタン[…]をクリックして[ビルダーの選択]ダイアログボックスを表示します。

フォームのプロパティ[読み込み解除時]

[マクロビルダー]を選択して[OK]ボタンをクリックします。

[ビルダーの選択]ダイアログボックスで[マクロビルダー]を選択

[マクロデザイン]が表示されますので、まず、[新しいアクションの追加]で[If]を選択して、[条件式]に以下を入力します。

[チェック5]=true

マクロアクション[If]を選択して条件式を入力

すぐ下の[新しいアクションの追加]に[Accessの終了]を指定します。

そして、[Elseの追加]をクリックします。

[新しいアクションの追加]に[Accessの終了]を指定

[Else]のすぐ下にある[新しいアクションの追加]で[メッセージボックス]を選択します。

[メッセージ]には、メッセージボックスに表示させたい文字を入力します。

[メッセージの種類]は選択肢から選び、、メッセージタイトルも任意で入力します。

[Else]の下の[新しいアクションの追加]に[メッセージボックス]を追加

ここでは、以下のように入力します。

メッセージの種類などは、以下の記事を参照してください。

メッセージボックスで[はい]が選択されたらアクションを実行する

Accessのフォームで[閉じる]ボタンを設置しても、メッセージボックスは表示されずにフォームは閉じられてしまいます。 [閉じる]ボタンをク ...

続きを見る

メッセージボックスに入力

そして、[If文の最後]の上にある[新しいアクションの追加]に[イベントの取り消し]を指定します。

[新しいアクションの追加]に[イベントの取り消し]を選択

以下のようになっていることを確認したら、上書き保存して閉じます。

マクロデザインの[上書き保存]と[閉じる]ボタン

フォームのプロパティ[読み込み解除時]には、[埋め込みマクロ]と表示されます。

フォームのプロパティ[読み込み解除時]-[埋め込みマクロ]

アプリケーションの[閉じる]ボタンをクリックすると、以下のメッセージウィンドウが表示されます。

[OK]ボタンをクリックすると、メッセージウィンドウが閉じられます。

[終了]ボタンをクリックすると、チェックボックスがオンになりAccessが終了します。

アプリケーションの[閉じる]ボタンをクリックしたときのメッセージウィンドウ

チェックボックスを非表示設定

チェックボックスは非表示にします。

フォームをデザインビューで開いて、チェックボックスのプロパティを表示して[可視]を[いいえ]にします。

チェックボックスのプロパティ[可視]-[いいえ]

フォームのチェックボックスは非表示になります。

チェックボックスが非表示になったフォーム

検索

ほかの記事も検索してみませんか?

Access / Excel / PowerPoint / Word

関連記事30件

Profile

-Windows 11 & Office 2021 Access 2021

Copyright © 2001-2024 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2024 AllRights Reserved Powered by AFFINGER4.