みなさま、こんにちは。しむぅです。

過去(2001年~2003年)にメールニュースにて配信された「シーオーリポーツ的便利機能」を掲載していきます。
現行の製品と動作が異なる場合もあります。ご了承ください。

benri_title11

こりゃ便利!CIDファイルの巻

シーオーリポーツの達人へと修行中の「きょ~こ」と、師匠「しむぅ」が繰り広げる「シーオーリポーツ的便利機能」も今回で五回目。
あらあら、何やらきょ~こが難しい顔をして考え込んでいますが・・・
あ~ん、どうしてこんなに複雑なロジックになっちゃうのよぉ。こんなのできないわっ。
師匠~師匠~
ん~日向ぼっこでお茶。お茶は煎茶に限るよのぉ~
師匠ぉ~私の話聞いてないでしょぉ~(怒)
ズズッ、はぁ~。うまいっ。
どうせ、きょ~こは『また』変なことをやっているんじゃろう?
ひどいっ。今日はステップアップして、複数ページのプレビューにチャレンジしているんですよぉ。
ん?そんなに面倒なロジックでもなかろう?
サンプルプログラムを参考にメタファイルを生成してプレビューを行なっているんですけど、表示したいページを表示させるロジックを組むのに頭がこんがらがってしまって。何ページ目を指定されたかを判断して、そのページを抽出して表示してって・・・あ~面倒だわっ。
帳票出力をメタファイルにしているのか?それはご苦労なこった。
ふぉっふぉっふぉっふぉっ。
って、わしの顔が湯のみのまんまじゃないかぁぁぁぁぁ。
笑わなくてもいいじゃないですかぁ。だから湯のみのままなんですよ。
他に手があるんですよね、教えてくださいよ、し・しょ・お~!!
うぐっ、くっく首を締めるなっ。きょ~こ、手を離せっ!
はっ。ごっごめんなさいっ。つい日頃の・・・
くっ首が伸びたじゃないか。ひどいっ信じられないわっ。
「信じられないわっ」って・・・
ゴホゴホッ。
え~っと本題じゃが、CIDファイル(シーオーリポーツドキュメントファイル(.cid))を生成すればよいのじゃよ。
あ~、聞いたことがあるようなないような。あはははは。
まったく。ふぅ~、こんなに便利なファイルが生成できるというのになぁ。

CIDファイルというのは、シーオーリポーツ独自の帳票出力ファイルじゃ。CIDファイルで帳票出力を行なえば、プログラム上で複雑なコーディングを行なわなくても表示したいページを簡単に表示させることができる
のじゃ。
えっ?
選択ページを抽出するプログラムコードが一切不要なんですか?
そうじゃ。まずは下の【 記述例】を見てくれるか?
CIDファイル生成方法
【 記述例 】

 ret = CrDraw1.StartDocument("", "")
 Set ObjForm = CrDraw1.OpenForm("Sample.crf")
 For Cnt = 1 To N
     <<データ処理>>
     ret = ObjForm.PrintOut
 Next Cnt
 ObjForm.Close
 ret = CrDraw1.EndDocument
このような方法で複数ページの情報を持つCIDファイルが1つ生成されるのじゃ。
たったこれだけの記述で?
それにCIDファイル1つに複数ページの情報を持っているんですか?
CIDファイルはどうやって表示できて印刷を行なうの?
今日の晩ごはんは?
あ~、一度に聞くな。一つずつ説明をするから。せっかちだなぁ。
一体誰に似たんじゃろうなぁ。ふっ
・・・(師匠を指差す)
いやん。そんなに見つめないでっ・・・
じっ、実は複数ページの情報を1つのCIDファイルに保持することができる。
ただし、このCIDファイルを閲覧するためには「ビュアー」が必要になるんじゃ。この「ビュアー」はシーオーリポーツ Ver.7基本パックに含まれておる単体のアプリケーションじゃ。一般的に知られているPDFファイルとAcrobat Reader を想像してくれればわかりやすい
かの。
あ~なるほど。そうゆう感じのファイルなのね。
それで、ページ選択をする場合はどうなっているんですか?
実際にビュアー画面を見ればわかるんじゃが、画面左端にツリービューが表示される。あと、ページ替えボタンも付いているぞ。
ということは、ページ選択のコーディングは一切しなくてもいいんですね。
・・・でもぉ、プレビュー画面はこのウィンドウに表示したいんだけど、アプリケーションのビュアーを貼り付けることは無理ですよね?
ふっふっふ、その場合は・・・。
そっその場合は・・・?
ビューコントロール」!!ジャジャジャジャーン
へっ?ムーミントロール?
そうそうトーベ・ヤンソンが作者の、ってちが~~~~~~~うっ!!
あっ、ベーコンとロールキャベツ?
そうそう寒い冬にはもってこいの、ってちが~~~~~~~~うっ!!
ビューコントロール!
そうそうシーオーリポーツの、ってちが~~~~~~~~っ!!うっ?
あってるじゃん。
ゲホゲホ。きょ~こがくだらんことを言うからじゃろう!
この「ビューコントロール」というのは ActiveXコントロール版のビュアーなんじゃ。
ActiveXコントロールだから、当然 VisualBasic などのフォームに貼り付けることができるんじゃな。嬉しいことにメニューバーを非表示にすることができるから、コマンドボタンなどを貼り付ければ印刷時に行なう処理を追加することもできる
んじゃ。
独自でデザインしたビュアー画面を作る場合には、こりゃ便利~~。
こりゃ便利~~!!
使ってる?HOSのシーオーリポーツ!! チャンチャンッ♪