要件定義の不安をなくす。要件定義の不安をなくす。ユニファのバックエンド分割に学ぶイノベーションメタバース開発に必要な技術の基本知識をおさらい。Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。Formsで利用可能なViewerコントロール同様に、Webアプリケーションにおいても、高機能なビューワを利用することができます。WebViewerコントロールを用いたアプリケーションは、Professional版でしか利用できませんが、ActiveXビューワ(arview2.cab)はStandard版でも利用できますので、今回はその使い方について紹介したいと思います。Webアプリケーションに帳票生成ファイルを追加するWebサイトのプロジェクト配下に直接レポートファイルを設置すると、ActiveReportsレポートデザイナのパフォーマンスが落ちてしまいます。WebアプリケーションでActiveReports帳票を開発する場合は、別途クラスライブラリのプロジェクトを作成し、それを参照した方がよいでしょう。Webアプリケーションの実行時にはWebサイトのプロジェクト配下に直接配置しても特に問題はありません。以下の例では、WEBアプリケーション配下のRptフォルダにレポートファイルを配置しています。Webアプリケーションプロジェクトレポートレイアウトの作成方法はWindowsアプリケーションの場合と同様です。WebページにActiveXビューワを配置する次に、Webページでのビューワ表示部分を作成します。Webアプリケーションプロジェクトにarview2.cabを追加し、aspxファイル内では、<object>タグを使用してActiveXビューアを埋め込みます。codebase="arview2.cab#Version=2,4,2,1303"></object>ActiveXビューワ各画面でビューワのサイズなどを指定したものを共通で利用したい場合は、ビューワ部分のHTMLソースを外部ファイル化し、インクルードするように作っておくとその後の更新が楽になります。次に、HTMLの<head>タグの中に、データパスを指定するためのVBScriptコードを追加します。ActiveXビューワではVBScriptでプロパティを設定することで、DocumentクラスのPrintメソッドを実行するのと同様、簡単にビューワの表示・印刷ダイアログの初期値を簡単に変更できます。Sub//--></script>この他にも、ActiveXビューワには初期表示設定や、印刷ダイアログを表示して印刷する際の設定など、さまざまなプロパティが用意されています。98/Meである場合に、文字間隔が不正になる問題を回避するためのコード以下のプロパティはビューワ表示ではなく、直接印刷ジョブをプリンタへ送信する場合に指定します。True(直接印刷時のダイアログ表示可否)帳票を生成するページにActiveXビューワの表示領域を追加したら、次はビューワで表示するための帳票データの生成処理を実装します。WebフォームのPage_Loadイベントに以下の処理を追加します。この処理ではActiveReports帳票を生成し、データをMemoryStreamオブジェクトに一旦格納したのちバイナリストリームとして返しています。//メモリストリームに帳票データを保存します。//バッファストリームのシークポインタの位置を先頭に移動します。//ストリームのデータを読み込みます。ストリームから削除します。ストリームから削除します。//出力ストリームにレポートを出力します。'バッファストリームのシークポインタの位置を先頭に移動します。'ストリームのデータを読み込みます。'出力内容をバッファストリームから削除します。ストリームから削除します。Formを表示し、Webページにビューワと帳票が表示されれば成功です。ActiveXビューワで帳票を表示した例おわりに今回はActiveReportsの罫線機能とデータの折り返し、プレビューと印刷機能について紹介しました。次回は、ActiveReportsで利用できるさまざまなデータソースに関する話題と、Webサービスを利用したネットワーク帳票などについて紹介する予定です。ERPソリューション部所属。ERPシステムの設計・開発に従事。業務でActiveReportsを使用。パッケージ開発部所属。ECサイト構築パッケージの設計・開発に従事。データベース・データアクセスフォーラムリーダー。NEW新着記事一覧を見るイベント今後の予定を見るCodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。