ダウンロード バイナリファイル (87.9 KB)
ダウンロード ソースファイル (137.9 KB)
Excel VBAで「ページ設定」と「印刷」の2つの操作を組み合わせて、データベースから取得したデータの作表・印刷処理を自動化し、ページ内に収めるテクニックをご紹介します。
はじめに
前回の記事では、データベースからデータを取得し、印刷用のフォーマットに整えるマクロを作成しました。今回はユーザーフォームを作成します。マクロを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 |
この記事は参考になりましたか?
- Excel VBAでさまざまな表印刷を行う連載記事一覧
-
- VBAでデータベースからの作表・印刷処理を自動化する 2
- VBAでデータベースからの作表・印刷処理を自動化する 1
- この記事の著者
-
瀬戸 遥(セト ハルカ)
8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア





