はじめに
前回の記事では、データベースからデータを取得し、印刷用のフォーマットに整えるマクロを作成しました。今回はユーザーフォームを作成します。マクロをGUIを通して操作することで、手軽に作成した機能を使うことができます。
また、どうせ対話型処理を作るのであれば、いくつか便利な機能も組み込みたいです。そこで、表を自動整形してくれるオートフォーマット処理や、複数のクエリをリストから選んで実行できるようにしたいと思います。
対象読者
Excel VBAを使ってマクロ(プログラム)を作ったことのある人、Visual Basicが使える人が対象です。
必要な環境
Excel 2000/2002/2003/2007が使用できる環境。
マクロ実行時の注意事項
Accessのデータベースファイル「msdata.mdb」を、マクロを実行するブックと同じフォルダにおいてください。
ユーザーフォームで印刷操作を行う-フォームの作成
それではユーザーフォームを作成していきます。
- プロジェクトにユーザーフォームを追加し、フレームコントロールを1つ配置してその中にコンボボックスコントロールとコマンドボタンを配置します。
- もう1つ、オートフォーマット設定用のフレームコントロールを配置し、大きめにサイズを取ります。そして、次のプロパティを設定しスクロールバーが使用できるようにします。
プロパティ | 設定値 |
Caption | オートフォーマット |
ScrollBars | 2-fmScrollBarsVertical |
ScrollHeight | 380 |
ScrollBars
プロパティを設定すると、フレームはスクロールバーが使える状態になりますが、ScrollHeight
プロパティにスクロール範囲を設定しないと使用できない点に注意してください。Picture
プロパティに、オートフォーマットを実行した時の画像をキャプチャしたものを組み込んでおきます。このマクロでは、「image1.jpg」~「image4.jpg」の4枚の画像を組み込んでいます。- フォームの右側にフレームとテキストボックス、フレームとチェックボックスコントロール、フレーム内にもう1つフレームとラベルコントロール・スピンボタンコントロールを配置します。また、フォームの上にコマンドボタンを2つ配置しておきます。
プロパティ | 設定値 |
Min | 1 |
Orientation | 0-fmOrientationVertical |