C++ で オートメーションを呼び出すときの定番は タイプライブラリからヘッダをつくってアクセス、 なんだけど、これは新バージョンでつくっちゃうと旧バージョンに対応できない罠。あと、Word とか インターフェース多すぎてくらくらする。かといって、IDispatch 経由で手動処理はいやすぎ。
_ .NET な C++ や C# でも基本的には同様。こういった用途では静的な言語はつらいねー。
_
なんやかやで VB 系がこのへん一番最強みたいですな。
しかし使うのには微妙に拒否反応が……。もう少し、こう、C っぽくて、
なおかつ動的な言語体系(※ビジュアルプログラミングできるIDEつき)をぷりーず!
全然別種の仕事でそれぞれ必要なわけですよ。
_ Java な案件(とりあえずサーバ)では、今だと、 OpenOffice.org をサービス化して、 UNOで直接、あるいは、 JooReports とか 経由でたたいて、DOC / PDF をはかせるのがわりとベストなのかもーという結論に。 Windows 鯖でも Unix系鯖でもどっちでもいけるし。
_ 帳票系のライブラリってなんかお値段高いしー。 PDF 系のテンプレートをお客様につくってもらうのは微妙に敷居高いしー(自分でつくるのはいやん)。 互換性の問題あるのでチェックは必要ですが、Word ベースで基礎作業できるの重要。 出力に DOC が選択できるので、出力後の再加工性が高いのもポイント。
_ ちなみに現在配布されている OOo の 2.0.1 のデフォルトの設定では「MS Pゴシック」の名前がまちがえてて(半角になってる)、 DOC をはかせると文字がさっくり化けて豆腐になったりするので要注意だ! (対策)
_ もう一つは、Win 用のツール。ぶっちゃけ台本作成ツールで 帳票とはちょっとちがうのですが、いろいろインデントとかスタイル調整がはいったテキストを 単純ながら組版する必要があってわりとどうしたもんかと。
_ Word が HTML を縦書きでよみこみできれば HTML で TABLE はいて 逃げようかとおもったのですが……くっ、縦にしてもテーブルは横のまま処理しやがる!
_ RTF のシンプルなライブラリつくるべか、とか、いろいろ調べてたりはしたのですが、 もう「みんな Word ぐらい入れてあるよね?」ってことで、 パースするプログラムから、OLE オートメーションで Word たたいて がしがし流し込んでしまうのが一番幸せかなぁと……。
メールはこちらへ...[わたなべごう (go @(at) denpa .(dot) org)]
この日記は、GNSを使用して作成されています。