Office 2019 Access 2019

独立マクロと埋め込みマクロの違いを知って使い分け

投稿日:2022年6月20日 更新日:

Accessのマクロには、独立マクロと埋め込みマクロというのがあります。

独立マクロは、マクロを個別に作成して、後でオブジェクトのプロパティを開いてイベントに設定します。複数のオブジェクトに設定できますが、オブジェクトの数は増えます。

一方、埋め込みマクロは、オブジェクトのプロパティからイベントに直接埋め込み、そのオブジェクトでしか使用できません。

どちらのマクロも使用できるマクロアクションは同じです。

複数のオブジェクトで使用するマクロは、独立マクロとして作成しておくと効率的です。

独立マクロの作成

参考ここでのフォームの表示は、[ウィンドウを重ねて表示する]です。[ウィンドウを重ねて表示する]と[タブ付きドキュメント]の違いについては、以下の記事で解説しています。

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

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

続きを見る

独立マクロを作成してコマンドボタンに適用

フォームを閉じるマクロを作成します。

独立マクロの作成

[作成]タブの[マクロとコード]グループにある[マクロ]をクリックします。

マクロ

繰り返し実行されるタスクを自動化したり、操作性の高いインターフェイスを作成するために、データベースにロジックを追加します。

[作成]タブの[マクロ]

マクロビルダーが表示されます。

[新しいアクションの追加]の▼をクリックすると、マクロアクションの一覧が表示されます。このアクションを組み合わせて設定します。

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

マクロビルダー

ここでは、マクロアクション[ウィンドウを閉じる]を選択します。

マクロアクション[ウィンドウを閉じる]

[ウィンドウを閉じる]アクションが表示されます。

アクション名付近でポイントすると、ポップヒントが表示されます。

各パラメーターもポイントすると、ポップヒントが表示されますので悩んだ時は表示してみてください。役立つ内容のものがあります。

ウィンドウを閉じる

指定されたウィンドウを閉じます。指定が省略された場合は、アクティブウィンドウを閉じます。

[ウィンドウを閉じる]マクロアクションのポップヒント

ここでは、何も指定せずにマクロを保存します。

キーボードから[F12]を押すと、[名前を付けて保存]ダイアログボックスが表示されます。

キーボード[F12]キー

分かりやすいマクロ名を入力して[OK]ボタンをクリックします。マクロビルダーは閉じます。

[名前を付けて保存]ダイアログボックス

ナビゲーションウィンドウには、作成したマクロが追加されています。

ナビゲーションウィンドウの[マクロ]

作成したマクロをフォームの[閉じる]ボタンに適用

作成したマクロをフォームの[閉じる]ボタンのクリック時イベントに適用します。

フォームをデザインビューで開いてボタンを作成します。

[フォームデザイン]タブの[コントロール]グループにある[ボタン]をクリックして、任意の位置にドラッグします。

[コマンドボタンウィザード]が表示されたら、[キャンセル]ボタンをクリックして閉じます。

[フォームデザイン]タブの[ボタン]

ボタンを作成したまま[フォームデザイン]タブの[ツール]グループにある[プロパティシート]をクリックしてプロパティシートを表示します。

キーボードから[F4]キーを押しても表示できます。

[書式]タブの[標題]に[閉じる]と入力して確定します。

参考[標題]はボタンに表示する文字列になります。

コマンドボタンのプロパティ

プロパティの[イベント]タブにある[クリック時]の▼をクリックすると、作成したマクロが表示されますので選択します。

イベントタブのクリック時でマクロを選択

以下のようになります。

クリック時のイベントに表示されたマクロ

これで完了です。フォームビューに切り替えて確認します。

フォームビューの[閉じる]ボタン

独立マクロを作成すると、ドロップダウンリストから選択するだけで設定できます。

同じ内容のマクロボタンを設置したいフォームが複数ある場合などは、独立マクロを作成しておくと、ドロップダウンから選択するだけで設定できます。

ただ、ナビゲーションウィンドウのオブジェクトの数は増えます。

独立マクロの名前を変更した場合は、再度、プロパティで選択し直す必要があります。

参考以下でも[独立マクロ]と[埋め込みマクロ]の違いについて記しています。

[埋め込みマクロ]と[独立マクロ]の違いについて

コード変換ができるのは、独立マクロです。[マクロをVisual Basicに変換]ボタンで変換できます。

独立マクロの[マクロをVisual Basicに変換]ボタン

マクロのコード変換は独立マクロで(埋め込みマクロではできない)

Access2007以降(拡張子accdb)では、[コマンドボタンウィザード]や[マクロビルダー]を使ってボタンを作成すると、[埋め込みマク ...

続きを見る

埋め込みマクロでボタンを作成

埋め込みマクロで同じ[閉じる]ボタンを作成する方法は、2つあります。

1つは、プロパティでマクロビルダーを起動して作成します。もう1つは、コマンドボタンウィザードを使用する方法です。

マクロビルダーを起動して作成

[閉じる]ボタンのプロパティを開いて、[イベント]タブの[クリック時]にある[ビルダー選択]ボタン[…]をクリックします。

[ビルダーの選択]ダイアログボックスから[マクロビルダー]を選択します。

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

独立マクロを作成した時と同じように、マクロアクションは[ウィンドウを閉じる]を選択します。

独立マクロを作成した場合とマクロアクションの違いはありません。

マクロビルダーに[上書き保存]と[閉じる]ボタンがあります。

[ウィンドウを閉じる]マクロアクション

[マクロをVisual Basicに変換]ボタンは無効になっています。

[マクロをVisual Basicに変換]ボタンは無効

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

プロパティに表示された[埋め込みマクロ]

ナビゲーションウィンドウにマクロオブジェクトはありません。

参考コードビルダーを使って作成する方法もあります。

コードビルダーとマクロビルダーの違いについては、以下の記事を参照してください。

マクロアクション(マクロビルダー)とVBA(コードビルダー)

Accessでは、マクロアクション(マクロの実行アクション)やVBA(Visual Basic for Applications)を使って一 ...

続きを見る

コマンドボタンウィザードで作成

ウィザードを使用したボタン作成は、埋め込みマクロになります。

マクロアクションのすべてはありませんが、主なコマンドはあります。

[フォームデザイン]タブの[コントロール]グループにある[ボタン]をクリックして、任意の位置にドラッグします。

[コマンドボタンウィザード]が表示されたら、[フォームの操作]の[フォームを閉じる]を選択して[次へ]をクリックします。

参考[コントロールウィザードの使用]がオンになっていないと[コマンドボタンウィザード]は表示されません。

[コントロールウィザードの使用]が有効になっているかを確認

コマンドボタンウィザード

[文字列]か[ピクチャ]を選択します。

[文字列]か[ピクチャ]を選択するようになっていますが、これは完成後にプロパティで変更できます。

文字列もピクチャも両方を表示することもできます。

ここでは、[文字列]を選択してボタンに表示する名前を入力します。[次へ]をクリックします。

コマンドボタンウィザードで[文字列]を選択

コマンドボタンの名前を指定して、[完了]ボタンをクリックします。

[コマンドボタンウィザード]でボタン名を入力

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

[閉じる]ボタンのプロパティ

コマンドボタンウィザードで作成された[埋め込みマクロ]をマクロビルダーで表示してみます。

プロパティのクリック時の[…]ボタン

以下のようになっています。

マクロビルダーのマクロアクションで作成したのと同じですね。

マクロデザイン

埋め込みマクロは、そのオブジェクトのイベントにしか使用できません。

ほかのデータベースでオブジェクトをインポートする場合、オブジェクトのみをインポートすればマクロも一緒にコピーされます。

独立マクロで設定した場合は、独立マクロも一緒にインポートしなければなりません。

効率よく作成できるように工夫してみてください。

参考ウィザードを使用したコマンドボタンの種類と動作については、以下の記事で解説しています。

コマンドボタンウィザードを使用したボタンの作成

Accessで起動時にメニューフォームを表示した後、ボタンをクリックして目的のフォームを開くようにしたいという要望はよくあります。 コマンド ...

続きを見る

コマンドボタンウィザードで作成した場合、気を付けてほしいことがあります。

[閉じる]ボタンを作成した場合、マクロアクションは何も問題ないのですが、ウィザードでフォームを開くアクションを選択した場合などは、修正しておいた方がいい場合があります。

コマンドボタンウィザードによるボタン作成後の[埋め込みマクロ]について

Accessでは、ウィザードを使用して簡単にボタンを作成することができます。 これについては、ウィザードを使ったコマンドボタンの作成で解説し ...

続きを見る

コマンドボタンウィザードで独立マクロを指定することもできます。この場合、プロパティでは[埋め込みマクロ]となりますが、他のデータベースでインポートしても独立マクロがないと動作しません。

独立マクロを作成してフォームを開くボタンを設置

Accessで作成済みのフォームを、ボタンをクリックして開くようにする方法です。 ここでは、独立マクロを作成してボタンに登録する方法を解説し ...

続きを見る

以下の記事でも同じボタンを独立マクロと埋め込みマクロで解説しています。

レコード削除時の確認メッセージを非表示にする

Accessでレコードを削除しようとすると、毎回、確認メッセージが表示されます。 ○件のレコードを削除します。 [はい]をクリックすると、削 ...

続きを見る

レコードの更新日時を保存する設定でも、独立マクロと埋め込みマクロで解説しています。

レコードの最終更新日時を自動保存してフォームに表示

Accessで更新日時を保存したいということは多いですね。 レコードが更新された日時をテーブルに保存する方法です。 VBAコード、埋め込みマ ...

続きを見る

独立マクロと埋め込みマクロの違いを知って使い分け

[独立マクロ]と[埋め込みマクロ]のどちらが良いというわけではありません。

ナビゲーションウィンドウのオブジェクトが多くて、もうこれ以上増やしたくないという場合は、埋め込みマクロのほうがいいでしょう。

でも、ここで紹介した[ウィンドウを閉じる]などのマクロは、複数のフォームで使用する場合が多いです。

そういう場合は、独立マクロを作成しておいて、使いまわした方が効率的です。

1つのオブジェクトでしか使用することがないだろうと思われるものは、埋め込みマクロにしておいたほうがオブジェクトは煩雑にならずに済みます。

簡単にまとめてみましたので参考にしてください。

  独立マクロ 埋め込みマクロ
マクロオブジェクト あり なし
複数使用 できる できない (コピー&ペーストは可)
コード変換 できる できない

埋め込みマクロでも、コピーして使用することはできます。再利用もできますが、独立マクロのほうが簡単です。

埋め込みマクロではマクロウィンドウを表示する必要があります。

マクロツールで既存のアクションをコピーして活用(再利用)するには

Accessでは多くのマクロアクションが使用できます。 しかし、毎回アクションを選択して入力するのは面倒ですね。 マクロアクションは、コピー ...

続きを見る

検索

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

Access / Excel / PowerPoint / Word

関連記事30件

Profile

-Office 2019 Access 2019

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

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