PR

業務効率の飛躍的改善に向けた第一歩 Access VBA

VBA

今回は、業務効率を飛躍的に向上させるためにAccess VBAについて紹介します。
VBAとは「Visual Basic for Application」の略称で、Microsoft Officeアプリケーション(Word、Excel、PowerPoint、Access等)の機能を拡張するために用いられます。
一度VBAでソースコードを作成しておけば、ルーチン的な操作はVBAで実行、自動処理できます。

Officeアプリケーションにはソースコードを作成するための実行環境が最初から付帯しているため、すぐに作成に取り掛かることができ、さらにVBAの歴史は非常に長く、利便性の点からも様々な文献や情報を容易に取得できるという点もメリットとなります。ということで、早速簡単なソースコードを作成していきましょう。

スポンサーリンク

モジュールの作成

まずは、ソースコードを記入するために標準モジュールを作成します。「作成」タブの「標準モジュール」アイコンをクリックし、VBA画面を起動します。

図1 標準モジュールの作成

図2にVBA画面を示します。主立っては、

① プロジェクト エクスプローラ(左上)
② プロパティ ウインドウ(左下)
③ コード ウインドウ
④ イミディエイトウインドウ

が挙げられます。

図2 VBA画面について

これら画面の内、ソースコードは「コードウインドウ」に入力していきますので、覚えておいてください。

プロシージャの追加

ソースコードを入力していくために、プロシージャを追加します。ここで、プロシージャとは、VBA内で複数の命令や処理をまとめ、外部呼出しの際に、これら機能を実施するための機能です。

プロシージャを追加するためには、「挿入」タブの内、「プロシージャ」を選択して「プロシージャの追加」画面を開きます。(なお、コードウインドウに直接キーボード入力しても構いません。)
追加するプロシージャの名前を「Test」と入力し、種類は「Sub」、適用範囲は「Public」にし、「OK」をクリックしてコードウインドウにプロシージャの枠を作成します。

図3 プロシージャの追加

ここでプロシージャの種類には「Sub」、「Function」、「Property」の3種類がありますが、それぞれ次のような考え方に基づき設定します。

① Subプロシージャ
 あるイベントにより実行し、ソースコードに記載された処理を行う。
② Functionプロシージャ
 あるイベントにより実行し、ソースコードに記載された処理をした後に戻り値を返す。
③ Propertyプロシージャ
 ユーザーが作成した独自のプロパティに対して値の設定や取得を行う。

また、適用範囲には「Public」、「Private」の2種類がありますが、これらはプロシージャの有効範囲を定めるもので、次のような考え方に基づき設定します。

① Publicプロシージャ
 同一プロジェクトの全てのプロシージャから呼び出しができる。
② Privateプロシージャ
 同一モジュール内でのみ呼び出しができる。 

作成されたプロシージャは図4に示すとおりですが、指定した通り以下のソースコードが追加されます。

Public Sub Test()

End Sub
図4 作成されたプロシージャ

VBAコードの入力

今回は、プロシージャを実行すると「Hello World!」というメッセージボックスが表示されるソースコードを記入します。コードウインドウに以下のソースコードを記入してください。

Public Sub Sample()
MsgBox "Hello World!"
End Sub

ソースコードの記入が終わりましたら、画面上の「プロシージャの実行」アイコンをクリックします。すると、画面上に「Hello World!」とメッセージボックスが表示されます。

図5 プロシージャの実行

まとめ

今回は、業務効率改善に向けた第一歩としてVBAについて紹介をしました。ソースコードについては、メッセージボックスの表示方法として簡単な内容にとどめましたが、実際には様々な処理を指定することができ、その可能性は無限大です。ぜひ、VBAの扱いに慣れて働き方改革を推進していきましょう。

以下書籍のシリーズは、Access VBAを学んでいくに際して非常に有用でしたので、是非ご覧になってください。

スポンサーリンク

Kindle Unlimitedにサインアップして無料体験に登録する
Kindle Unlimitedに登録すると、人気のシリーズ、ベストセラー、名作などに好きなだけアクセスして、シームレスなデジタル読書体験を実現できます。

コメント

タイトルとURLをコピーしました