マクロの概要

適用先
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

この資料では、Accessデータベースに含まれるマクロと、頻繁に実行されるタスクを自動化することによってマクロで時間を節約する方法について説明します。 マクロの作成と使用の背景になる基礎部分を探り、Accessのマクロの改善点についても触れます。

マクロとは?

Accessのマクロは、作業を自動化し、フォーム、レポート、およびコントロールに機能を追加するためのツールです。 たとえば、コマンドボタンをフォームに追加した場合、ボタンのOnClickイベントをマクロに関連付けます。このマクロには、ボタンをクリックするたびに実行するコマンドが含まれています。

Accessでは、実行するアクションのリストを作成することによって、マクロを単純なプログラミング言語と見なすと便利です。 マクロを作成するときは、ドロップダウンリストから各アクションを選択して、各アクションに必要な情報を入力します。 マクロを使用すると、Visual Basic for Applications(VBA)モジュールでコードを記述せずにフォーム、レポート、およびコントロールに機能を追加できます。 マクロでは VBA で使用できるコマンドのサブセットが用意されており、マクロを作成する方が VBA コードを記述するより簡単だと感じるユーザーがほとんどです。

たとえば、データ入力フォームの1つから直接レポートを作成したいとします。 フォームにボタンを追加してから、レポートを開くマクロを作成できます。 マクロは、後にボタンのOnClickイベントとなるスタンドアロンマクロ(データベース内の別のオブジェクト)としても、ボタン自体に直接埋め込まれるOnClickイベントとしても作成可能です。 いずれでも、ボタンをクリックすると、マクロが実行されてレポートが開きます。 これらの種類のマクロは、一般にユーザーインターフェイスマクロと呼ばれます。

データマクロを使用すると、作業を自動化したり、テーブルに直接機能を追加したりできます。 データマクロとその動作は、新しいレコードをテーブルに追加するときなど、特定のテーブルイベントに関連付けられます。

マクロビルダーを使用してマクロを作成します。その例を次の図に示します。

IntelliSense を使用して式を入力する

ユーザーインターフェイスマクロのマクロビルダーを表示するには

  • 作成タブのマクロとコードグループで、マクロをクリックします。

データマクロのマクロビルダーを表示するには

  • データシートビューで任意のテーブルを開きます。 変更前イベントおよび変更後イベントグループのテーブルタブで、変更前または挿入後などといったイベント・コマンドのいずれかをクリックします。

マクロビルダー、およびユーザー・インターフェースとデータ・マクロの作成およびテスト方法について詳しくは、この記事の末尾にある関連項目セクションの関連記事を参照してください。

Accessのマクロ機能

以前のバージョンのAccessでは、VBAコードを記述しないと、よく使用される機能の多くを実行できませんでした。 現在のバージョンのAccessでは、コードの必要性を排除するために新しい機能とマクロアクションが追加されています。 これにより、データベースに機能を追加することがより簡単、より安全になります。

  • 埋め込みマクロ フォーム、レポート、またはコントロールによって提供される任意のイベントにマクロを埋め込むことができます。 埋め込まれたマクロはナビゲーションウィンドウに表示されません。作成元のフォーム、レポート、またはコントロールの一部になります。 埋め込みマクロを含むフォーム、レポート、またはコントロールのコピーを作成した場合、そのマクロもコピーに反映されています。
  • セキュリティの強化 マクロ ビルダーで [すべてのアクションを表示] ボタンが強調表示されていない場合、使用できるマクロ アクションと RunCommand 引数は、実行に信頼された状態を必要としない引数のみです。 これらのアクションで構築されたマクロは、データベースが無効モードになっているとき(VBAの実行が禁止されているとき)でも実行されます。 信頼できるリスト にはないマクロアクションを含むデータベース、またはVBAコードを持つデータベース には、信頼状態を明示的に付与する必要があります。
  • エラー処理とデバッグ Access では、マクロの実行中にエラーが発生したときに特定のアクションを実行できるようにする 、OnError (VBA の "エラー時" ステートメントと同様) や ClearMacroError などのマクロ アクションが提供されます。 さらに、SingleStepマクロアクションを使用すると、マクロ内の任意の時点でシングルステップモードに入ることができます。そのため、一度に1つのアクションでマクロがどのように機能するかを観察できます。
  • 一時変数 3 つのマクロ アクション (SetTempVarRemoveTempVarRemoveAllTempVars) を使用すると、マクロで一時変数を作成して使用できます。 これらを条件式で使用して、実行中のマクロを制御したり、レポートやフォームとの間でデータをやり取りしたり、値の一時的な保存場所を必要とするその他の目的に使用できます。 これらの一時変数はVBAでもアクセス可能なので、VBAモジュールとの間でデータをやり取りするためにも使用できます。

マクロアクションの詳細

マクロビルダーで作業している間は、アクションまたは引数をクリックしてから、マクロビルダーウィンドウの右下隅にあるボックス内の説明を読むことで詳細を知ることができます。 また、各マクロアクションにはヘルプ記事が関連付けられています。 アクションについて詳しく知るには、アクションリスト内のアクションをクリックしてからF1を押します。

ページの先頭へ

関連項目

ユーザー インターフェイス (UI) マクロを作成する

データ マクロを作成する

データベースを開いたときに実行されるマクロを作成する

ステップ スルーでマクロを修正する