今回は,前回の応用として,Visual Studio上で帳票出力に対応するアプリケーション開発のコツについて紹介します。
一歩進んで帳票対応も!
前回,業務用アプリケーションとしてExcel対応アプリケーションの開発のヒント・コツを紹介しました。ご紹介したように,各種データをExcel形式に出力するには,Visual StudioやMicrosoft提供ツール,各種商用ツールを適材適所で活用するのが便利と言うことをご理解いただけたかと思います。今回はさらに利用シーンに近づいて,「帳票」作成をテーマに話を進めます。
管理・総務が求めるのは帳票
ご存知のとおり,帳票とはビジネス上で発生する金銭の流れなどをまとめた伝票類のことです。業務上,とくに管理部や総務部といった部署で利用されることが多く,日本企業ではさまざまな書式のものが存在します。さらに,日本では帳票に加えてバーコードという独自の二次元コードが存在するため,帳票アプリ上でカスタマイズする必要性が高くなります。これらのニーズをふまえ,いかに帳票に合わせた形での出力が行えるか,が現場視点で必要な要素の1つとなります。
帳票のデジタル化を実現するには
それでは,帳票のデジタル化について考えてみます。
PDFの利用
まず,一番大事なのが見た目,すなわちビューの作成です。これは,利用者ごとに入力する項目の内容や数が異なり,企業であれば企業印・ロゴといったものまで含めて表示する必要があります。これらをデジタル化するうえで便利なのがPDFです。
PDFの場合,テキストや画像データを利用できることに加えて,印刷に合わせたサイズ指定,インターネット上でのデータ送受信がしやすいといったメリットがあります。
動的・静的データの切り分け
実際に利用する場合には,同じ雛形の帳票で,複数の取引先・利用者に対して使用することがあります。デジタル化を行っている場合,変更される動的なデータ(金額,日付など)と,変更されないデータ(利用側の企業名や住所,敬称など)を区別し,動的なデータにのみ,外部データを入力するようにすれば,一元管理がしやすくなります。
Excelを利用して帳票化を実現
実際に帳票作成アプリを開発するとき,スクラッチでGUI生成やPDF変換を行えるアプリケーションを開発する方法もありますが,大変手間がかかりますし,実行環境の制限といったデメリットがあります。また,先に述べたように管理部や総務部といった部署に所属しているユーザが利用する場合,あまり特殊な操作性を持たせることは,ユーザの利便性を下げてしまいます。
そこで検討できる方法として,Excelを利用して帳票を生成するアプリケーション開発があります。
Officeのビューコントロールを利用
Microsoft Officeには,Officeツール用のビューをコントロールできる「ビューコントロール」オブジェクトが用意されています。これらを利用してアプリケーションを開発すれば,各種Officeツールの機能やUIを使いながら,独自のアプリケーション開発が行えます。
Excelの場合,NamedRangeビューコントロールやListObjectビューコントロールといったオブジェクトがあります。たとえばListObjectビューコントロールを利用すれば,図のようにワークシートにドラッグすることも可能になります。
図 ListObjectビューコントロールの利用例

おもなイベントは下表のとおりです。
表 NamedRangeビューコントロールのおもなイベント
BeforeDubleClick | NamedRangeコントロールがダブルクリックされると,規定のダブルクリックのアクション前に発生する |
BeforeRightClick | NamedRangeコントロールが右クリックされると,規定の右クリックのアクション前に発生する |
Selected | NamedRangeコントロールが選択されると発生する |
表 ListObjectビューコントロールのおもなイベント
BeforeAddDataBoundRow | データにバインドしているListObjectコントロールに新しい行が追加される直前に発生する |
BeforeDoubleClick | ListObjectコントロールがダブルクリックされたとき,規定のダブルクリック処理が行われる前に発生する |
BeforeRightClick | ListObjectコントロールが右クリックされたとき,規定の右クリック処理が行われる前に発生する |
その他,Excelの特定のセルにイベントを紐付けたり,特定の場所にデータを入力するには,ホスト項目とホストコントロールの指定が必要になります。詳しくはMSDNのサイトをご覧ください。
開発効率の向上
さらに,企業規模が大きくなればなるほど,大量の帳票を作成する必要性が高まり,そういうケースでは0からデザインを行うよりも,ある程度テンプレート的なデザインを流用して,随時カスタマイズできたほうが便利です。
Excel上でデザインを行えれば,デザイン→帳票までのフローを簡略化できるだけではなく,細かなビジュアルデザインの修正の場合でも,工数を増やすことなくデザイン変更ができます。
Excel形式からPDFへ
あらかじめExcel上でサイズ指定をしておくと,印刷時の対応が便利になります。また,各種商用ツールを使えば,XLS/XLSX形式→PDF形式への変換を直接行うことが可能です。
以上,帳票ツールの利便性,さらにExcel上で帳票を生成するメリット,開発のポイントについて紹介しました。現在,Microsoftでは,Excelの仕様の公開やさまざまなサポートツールを用意しているため,独自で開発することが可能です。しかし,前回も紹介したとおり,利用シーンに応じて市販されているツールを利用することをお勧めします。そうすれば,開発効率を上げられるだけではなく,実際の業務効率が高まり,企業の業務改善にも繋がるからです。
VB-Report 2007
Excelでデザインしたイメージを帳票に
VB-Report 2007は,アドバンスソフトウェア株式会社が開発・販売する帳票生成ツールです。独自のデザインツールではなく,Excel上で帳票デザインを行えるため,従来使用しているファイルとの互換性および利用者間の情報共有を高めることができます。
シンプルなコーディング
生成の手順はいたって簡単で,あらかじめデザインをしたExcelファイル(テンプレート)およびデータ入力済みのExcelデータがあれば,あとはシンプルなコーディングを行うだけで帳票形式に出力できます。
セルへの柔軟なデータ挿入
データの挿入に関しては,変数・セル位置・セル名によるセル指定・座標によるセル指定といった設定が行えるため,柔軟なデータ挿入が可能です。中でも,VB-Report 2007は,**が付いている文字列を変数として認識できるので,変数名によるセル指定に関しては,あらかじめデザインシートのセルに記述した変数を指定して挿入することができます。
プログラム上でデザイン変更が可能
また,実際に帳票化したデータに対し,たとえば,セル・列・行単位での表示形式の変更が可能です。一括で行えるため,大量データがある場合の作業効率を大幅に高めることが可能です。
xlsxに対応
Excel 2007から採用されている「xlsx形式」のファイルに対応しています。これにより,xlsx形式が持っている豊富な表現をそのまま利用できます。
Excel環境がない場合でも印刷が可能
VB-Reportには,作成した帳票に関して専用のプレビュー画面が用意されています。そのため,実行環境にExcelがインストールされていなくても帳票結果を印刷/プレビューすることが可能です。
帳票作成のイメージ。左はExcel上でデザインした帳票サンプル。右は,VB-Report 6.0のプレビュー機能を使って閲覧している様子

- 製品名:VB-Report 2007
- 問い合わせ:アドバンスソフトウェア株式会社
URL:http://www.adv.co.jp/
メール:info@adv.co.jp