こんにちは、なかぜんです!
Accessを使っていると、ボタンをクリックしたり、フォームを開いたときに何か動作させたくなる場面ってありますよね。
そんなときに登場するのが「イベントプロシージャ」と「マクロ」。でも、「この2つって何が違うの?」と迷ったことはありませんか?
今回は、Access初心者さんでも安心して理解できるように、イベントプロシージャとマクロの違いをわかりやすく解説していきます!
イベントプロシージャとは?
VBAで動きを細かく制御できる
イベントプロシージャとは、特定のイベント(クリック、フォームのオープンなど)が発生したときに実行されるVBAのプログラムのことです。
たとえば、ボタンをクリックしたときにメッセージを出す場合、こんな感じで書きます。
' ボタンクリックイベント
Private Sub btnHello_Click()
MsgBox "こんにちは!"
End Sub
このコードは、ボタン(例:btnHello)をクリックした瞬間に動きます。
ポイントは、「VBA」というプログラミング言語を使って細かく動作を指定できることです。
マクロとは?
ノーコードで簡単に自動化できる
マクロは、Access標準機能の「命令の組み合わせ」です。VBAを書かなくても、操作を自動化できるのが特徴です。
たとえば、ボタンクリックでメッセージを出すマクロなら、こんなイメージです。
- アクション:「メッセージボックスを表示」
- メッセージ内容:「こんにちは!」
マクロは、VBAの知識がなくても「組み立てるだけ」で作れるので、初心者さんにとても優しいですね!
イベントプロシージャとマクロの違いまとめ
項目 | イベントプロシージャ | マクロ |
---|---|---|
使用言語 | VBA(コードを書く) | マクロビルダー(組み合わせる) |
自由度 | 高い(複雑な処理ができる) | 低い(基本的な処理が中心) |
エラー対応 | 細かく制御できる | エラー処理は弱め |
難易度 | やや高い | やさしい |
つまり、「簡単に作りたいならマクロ」、「細かい制御をしたいならイベントプロシージャ」というイメージでOKです!
実際に作ってみよう!
マクロの作り方例
ボタンをクリックしてメッセージを表示するマクロを作ってみましょう。
- フォームをデザインビューで開く
- ボタンを配置する
- ボタンのプロパティ「クリック時」で「マクロビルダー」を選択
- アクション「メッセージボックス」を設定
メッセージ:「こんにちは!」 - 保存して実行!
イベントプロシージャの作り方例
- 同じくボタンを配置
- ボタンのプロパティ「クリック時」で「イベントプロシージャ」を選択
- 右側の「…」ボタンを押してVBAエディタを開く
- 次のコードを書きます。
Private Sub btnHello_Click()
MsgBox "こんにちは!イベントプロシージャ版です"
End Sub
これで完成です!ボタンクリックでメッセージが出たら成功!
注意点とよくあるミス
- マクロはエラー処理が弱いため、エラーが起きたときに止まる場合があります。
- イベントプロシージャは書き間違いに注意!スペルミスなどで動かなくなることも。
- フォームのプロパティで「マクロ」なのか「イベントプロシージャ」なのか間違えやすいので注意しましょう。
応用ポイント(中級者向け)
途中までマクロ、必要に応じてVBAに変換できる!
Accessでは、作ったマクロを後から「VBAに変換」することができます!
マクロビルダーで作った操作を右クリックして「VBAに変換」を選べば、イベントプロシージャに早変わり。
慣れてきたら、最初はマクロ、後からVBAにステップアップするのもおすすめですよ!
まとめ:まずはマクロから、慣れたらイベントプロシージャに挑戦!
今回は「イベントプロシージャ」と「マクロ」の違いについて、わかりやすく解説しました。
ポイントはこんな感じです。
- 簡単に自動化したいならマクロ
- 細かい制御やエラー対応をしたいならイベントプロシージャ
- まずはマクロで慣れて、必要に応じてVBAに挑戦しよう!
Accessをうまく使いこなせれば、日々の業務がもっとラクに、もっと楽しくなります。
ぜひ今日から、イベントプロシージャとマクロを使いこなしてみてくださいね!
それでは、また次回の記事でお会いしましょう!なかぜんでした。
