SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Excel VBAでさまざまな表印刷を行う

VBAでデータベースからの作表・印刷処理を自動化する 2

Excel VBAでさまざまな表印刷を行う - ユーザーフォーム編

  • このエントリーをはてなブックマークに追加

Excel VBAで「ページ設定」と「印刷」の2つの操作を組み合わせて、データベースから取得したデータの作表・印刷処理を自動化し、ページ内に収めるテクニックをご紹介します。

  • このエントリーをはてなブックマークに追加

はじめに

 前回の記事では、データベースからデータを取得し、印刷用のフォーマットに整えるマクロを作成しました。今回はユーザーフォームを作成します。マクロをGUIを通して操作することで、手軽に作成した機能を使うことができます。

 また、どうせ対話型処理を作るのであれば、いくつか便利な機能も組み込みたいです。そこで、表を自動整形してくれるオートフォーマット処理や、複数のクエリをリストから選んで実行できるようにしたいと思います。

ユーザーフォームでクエリの選択やオートフォーマット・印刷設定を行い印刷する
ユーザーフォームでクエリの選択やオートフォーマット・印刷設定を行い印刷する

対象読者

 Excel VBAを使ってマクロ(プログラム)を作ったことのある人、Visual Basicが使える人が対象です。

必要な環境

 Excel 2000/2002/2003/2007が使用できる環境。

マクロ実行時の注意事項

 Accessのデータベースファイル「msdata.mdb」を、マクロを実行するブックと同じフォルダにおいてください。

ユーザーフォームで印刷操作を行う-フォームの作成

 それではユーザーフォームを作成していきます。

  1. プロジェクトにユーザーフォームを追加し、フレームコントロールを1つ配置してその中にコンボボックスコントロールとコマンドボタンを配置します。
  2. コンボボックスコントロールは、[Style]プロパティを[2-fmStyleDropDownList]に設定し、テキスト入力フィールドは使わずにドロップダウンリストボックスとして機能するようにします。
  1. もう1つ、オートフォーマット設定用のフレームコントロールを配置し、大きめにサイズを取ります。そして、次のプロパティを設定しスクロールバーが使用できるようにします。
  2. プロパティ設定値
    Captionオートフォーマット
    ScrollBars2-fmScrollBarsVertical
    ScrollHeight380
    ScrollBarsプロパティを設定すると、フレームはスクロールバーが使える状態になりますが、ScrollHeightプロパティにスクロール範囲を設定しないと使用できない点に注意してください。
    そして、この中にトグルボタンコントロールを4つ配置します。サイズは適当に決めてください。また、Pictureプロパティに、オートフォーマットを実行した時の画像をキャプチャしたものを組み込んでおきます。このマクロでは、「image1.jpg」~「image4.jpg」の4枚の画像を組み込んでいます。
    組み込んだら、フレームとフォームのサイズを縮めます。これで、ピクチャ付きトグルボタンコントロールをスクロールして表示させることができるようになります。
ワンポイント・アドバイス
 画像キャプチャは、Paint Shop Proなどの画像ソフトを使用して、あらかじめ画面のキャプチャを撮り、適当な大きさにリサイズしておきます。
  1. フォームの右側にフレームとテキストボックス、フレームとチェックボックスコントロール、フレーム内にもう1つフレームとラベルコントロール・スピンボタンコントロールを配置します。また、フォームの上にコマンドボタンを2つ配置しておきます。
  2. スピンボタンコントロールは、次のプロパティを設定します。
    プロパティ設定値
    Min1
    Orientation0-fmOrientationVertical
    このスピンボタンは、印刷部数を設定するものです。部数0というのはありえませんので、スピンボタンの可動範囲の最小値を1にしておきます。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
ユーザーフォームの処理

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Excel VBAでさまざまな表印刷を行う連載記事一覧
この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/1251 2007/05/11 08:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング