Studio上で帳票出力に対応するアプリケーション開発のコツについて紹介します。一歩進んで帳票対応も!前回,業務用アプリケーションとしてExcel対応アプリケーションの開発のヒント・コツを紹介しました。StudioやMicrosoft提供ツール,各種商用ツールを適材適所で活用するのが便利と言うことをご理解いただけたかと思います。今回はさらに利用シーンに近づいて,「⁠帳票」作成をテーマに話を進めます。管理・総務が求めるのは帳票ご存知のとおり,帳票とはビジネス上で発生する金銭の流れなどをまとめた伝票類のことです。業務上,とくに管理部や総務部といった部署で利用されることが多く,日本企業ではさまざまな書式のものが存在します。日本では帳票に加えてバーコードという独自の二次元コードが存在するため,帳票アプリ上でカスタマイズする必要性が高くなります。これらのニーズをふまえ,いかに帳票に合わせた形での出力が行えるか,が現場視点で必要な要素の1つとなります。帳票のデジタル化を実現するにはそれでは,帳票のデジタル化について考えてみます。PDFの利用まず,一番大事なのが見た目,すなわちビューの作成です。これは,利用者ごとに入力する項目の内容や数が異なり,企業であれば企業印・ロゴといったものまで含めて表示する必要があります。これらをデジタル化するうえで便利なのがPDFです。PDFの場合,テキストや画像データを利用できることに加えて,印刷に合わせたサイズ指定,インターネット上でのデータ送受信がしやすいといったメリットがあります。動的・静的データの切り分け実際に利用する場合には,同じ雛形の帳票で,複数の取引先・利用者に対して使用することがあります。デジタル化を行っている場合,変更される動的なデータ(金額,日付など)と,変更されないデータ(利用側の企業名や住所,敬称など)を区別し,動的なデータにのみ,外部データを入力するようにすれば,一元管理がしやすくなります。実際に帳票作成アプリを開発するとき,スクラッチでGUI生成やPDF変換を行えるアプリケーションを開発する方法もありますが,大変手間がかかりますし,実行環境の制限といったデメリットがあります。先に述べたように管理部や総務部といった部署に所属しているユーザが利用する場合,あまり特殊な操作性を持たせることは,ユーザの利便性を下げてしまいます。そこで検討できる方法として,Excelを利用して帳票を生成するアプリケーション開発があります。Officeには,Officeツール用のビューをコントロールできる「ビューコントロール」オブジェクトが用意されています。これらを利用してアプリケーションを開発すれば,各種Officeツールの機能やUIを使いながら,独自のアプリケーション開発が行えます。Excelの場合,NamedRangeビューコントロールやListObjectビューコントロールといったオブジェクトがあります。ListObjectビューコントロールを利用すれば,図のようにワークシートにドラッグすることも可能になります。ListObjectビューコントロールの利用例おもなイベントは下表のとおりです。ListObjectビューコントロールのおもなイベントBeforeAddDataBoundRowデータにバインドしているListObjectコントロールに新しい行が追加される直前に発生するBeforeDoubleClickListObjectコントロールがダブルクリックされたとき,規定のダブルクリック処理が行われる前に発生するBeforeRightClickListObjectコントロールが右クリックされたとき,規定の右クリック処理が行われる前に発生するその他,Excelの特定のセルにイベントを紐付けたり,特定の場所にデータを入力するには,ホスト項目とホストコントロールの指定が必要になります。詳しくはMSDNのサイトをご覧ください。開発効率の向上さらに,企業規模が大きくなればなるほど,大量の帳票を作成する必要性が高まり,そういうケースでは0からデザインを行うよりも,ある程度テンプレート的なデザインを流用して,随時カスタマイズできたほうが便利です。Excel上でデザインを行えれば,デザイン→帳票までのフローを簡略化できるだけではなく,細かなビジュアルデザインの修正の場合でも,工数を増やすことなくデザイン変更ができます。Excel形式からPDFへあらかじめExcel上でサイズ指定をしておくと,印刷時の対応が便利になります。各種商用ツールを使えば,XLS/XLSX形式→PDF形式への変換を直接行うことが可能です。以上,帳票ツールの利便性,さらにExcel上で帳票を生成するメリット,開発のポイントについて紹介しました。現在,Microsoftでは,Excelの仕様の公開やさまざまなサポートツールを用意しているため,独自で開発することが可能です。前回も紹介したとおり,利用シーンに応じて市販されているツールを利用することをお勧めします。すれば,開発効率を上げられるだけではなく,実際の業務効率が高まり,企業の業務改善にも繋がるからです。2007は,アドバンスソフトウェア株式会社が開発・販売する帳票生成ツールです。独自のデザインツールではなく,Excel上で帳票デザインを行えるため,従来使用しているファイルとの互換性および利用者間の情報共有を高めることができます。シンプルなコーディング生成の手順はいたって簡単で,あらかじめデザインをしたExcelファイル(テンプレート)およびデータ入力済みのExcelデータがあれば,あとはシンプルなコーディングを行うだけで帳票形式に出力できます。セルへの柔軟なデータ挿入データの挿入に関しては,変数・セル位置・セル名によるセル指定・座標によるセル指定といった設定が行えるため,柔軟なデータ挿入が可能です。2007は,**が付いている文字列を変数として認識できるので,変数名によるセル指定に関しては,あらかじめデザインシートのセルに記述した変数を指定して挿入することができます。プログラム上でデザイン変更が可能また,実際に帳票化したデータに対し,たとえば,セル・列・行単位での表示形式の変更が可能です。一括で行えるため,大量データがある場合の作業効率を大幅に高めることが可能です。2007から採用されている「xlsx形式」のファイルに対応しています。これにより,xlsx形式が持っている豊富な表現をそのまま利用できます。Excel環境がない場合でも印刷が可能VB-Reportには,作成した帳票に関して専用のプレビュー画面が用意されています。そのため,実行環境にExcelがインストールされていなくても帳票結果を印刷/プレビューすることが可能です。左はExcel上でデザインした帳票サンプル。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。