プログラムからシーオーリポーツで印刷させるには。

私の場合、プログラムで印刷データを一度CSVファイルへ生成しています。
CSVファイルは決まった項目と内容で構成されており、別途のプログラムでCSVファイルを読み込んでシーオーリポーツで印刷をするか、PDFを作るかにしています。


CSVファイルのデータレイアウトです。

(1) BackColor指定
[項目1] = "B"
[項目2] = シーオーリポーツのコントロール名
[項目3] = RGBの色1
[項目4] = RGBの色2
[項目5] = RGBの色3
※ 色の変換 RGB関数 - RGB(色1, 色2, 色3)

(2) Cellコントロールへ値設定
[項目1] = "C"
[項目2] = シーオーリポーツのセルのコントロール名
[項目3] = セルの列番号
[項目4] = セルの行番号
[項目5] = セルの値

(3) コントロールへデータ設定
[項目1] = "D"
[項目2] = シーオーリポーツのコントロール名
[項目3] = コントロールの値

(4) フォントサイズ指定
[項目1] = "S"
[項目2] = シーオーリポーツのコントロール名
[項目3] = ポイント数

(5) コントロール名の非表・示設定
[項目1] = "V"
[項目2] = 0:False 非表示,   0以外:True 表示

(6)  レイヤの非表示・設定
[項目1] = "L"
[項目2] = 0:False 非表示,   0以外:True 表示

(7) 印刷実行
[項目1] = "P"

CSVファイルを生成後、印刷物を生成するプログラムを別途作っておき、それを使って印刷します。
そのまま印刷するか、または、PDFファイルを作っています。

なぜ一旦CSVへ出力してから、わざわざCSVを読んでシーオーリポーツを動かしているかというと、いろいろな言語からシーオーリポーツのフォームを使うことができるからです。
どの言語でのいいのですが、まずは印刷内容を設定するCSVファイルを作ります。
次にシーオーリポーツを使って、CSVファイルから印刷物を作るプログラムを動かします。

印刷物を生成するプログラムは、VB2008.NET版 と ACCESS2003版 と2種類あります。
どちらも同じ動きをしますが、どちらかというと ACCESS版 の方を良く使っています。

つまり、ACCESSを使ってシーオーリポーツを動かしています。
メーカーサイドのホームページでは、サンプルは提供されていないのですが、いろいろやってみたら成功しました。
モジュールに置いて関数として使います。
別に秘密にするつもりもないので公開してもいいのですがソースの行数が長いので、プログで表示するにはどうなのかな、それともダウンロードできるようにするにはどうしたらいいのか、いまいちよく判らないので、え~っと、迷ってます。

公開は次の機会にします。