DOBON.NET DOBON.NETプログラミング掲示板過去ログ

プリンター出力をEXCELファイルに

環境/言語:[環境はWindowsXP/2000]
分類:[その他]

いつも参考にみさせていただいてます。
このたび、納期的なことがありまして、何とかプログラムの変更なく印刷をEXCELに
出力できないものか、考えております。
印刷内容は、表形式の帳票です。文字と罫線だけでイメージの印刷はありません。
印刷位置は全て座標を指定してプリンター印刷してます。
罫線まで出せればいうことはないのですが、無理ならテキストだけでもかまいません。
後で編集する必要がありますので、イメージファイルでと言うわけにはいきません。
帳票に印刷しているテキストのイメージがEXCELファイルに出力できれば
とりあえずかまいません。
何方か良い方法をご存知の方、アドバイスよろしくお願いします。
■No5954に返信(うげぱぱさんの記事)
> このたび、納期的なことがありまして、何とかプログラムの変更なく印刷をEXCELに
> 出力できないものか、考えております。

プログラムを直さないと挙動が変わらないと思うのですが。
印刷にCrystalReportsなどのミドルウェアを使っていれば
そのミドルウェアのマニュアルなどで機能を確認したほうが
早そうですね。

納期に間に合うといいですね。
■No5954に返信(うげぱぱさんの記事)
> このたび、納期的なことがありまして、何とかプログラムの変更なく印刷をEXCELに
> 出力できないものか、考えております。
> 印刷内容は、表形式の帳票です。文字と罫線だけでイメージの印刷はありません。
> 印刷位置は全て座標を指定してプリンター印刷してます。
> 罫線まで出せればいうことはないのですが、無理ならテキストだけでもかまいません。
> 後で編集する必要がありますので、イメージファイルでと言うわけにはいきません。
> 帳票に印刷しているテキストのイメージがEXCELファイルに出力できれば
> とりあえずかまいません。
> 何方か良い方法をご存知の方、アドバイスよろしくお願いします。

  印刷と言う行為を、そのままExcelに出力と言うことは、通常ならできない
  ですネ!

  Excelファイルを作成すると言う方法で、印刷に代わる機能なら、可能です。
  ですが、Excel本体をインストールすると、当然、ライセンスが必要なソフト
  と言うことにはなります。

  また、Excelファイルを作成するのに、Excelを使用しないで・・・と言う方
  法もあります。私は、アドバンスソフトウェアの・・・

  VB-Reports
  ExcelCreater

  を使って実現しています。ActiveX版と、.NET版があります。
  Viewする必要が無ければ、ExcelCreterのみでOKですが、VB-Reportsでも
  Excelファイルを作成可能なようですので・・・

  また、それらを使うに、出力形式のテンポラリファイルを作成して、セル
  の書式や罫線情報を予め設定しておき、あとは、差込印刷の要領で、セル
  に数値は文字列を代入していき、他のファイル名で保存させる、もしくは
  印字する。と言うことで実現しています。

  別段、Excelを使わないで・・・と言うのと、実質的には使っても差異は、
  ありません。

※ 逆にテキストファイルに印字したいデータを保存し、Excelにテンポラリ
  ファイルを読み込ませ、マクロ(VBA)で記述したプログラムにそのテキス
  トデータを読ませ、所定のセルに代入・・・印字と言う方法でも可能かと。

  結果は、時間の問題でしょう。

  ご検討下さい。

以上。
■No5997に返信(岡田 之仁さんの記事)

皆さんいろいろ情報ありがとうございます。
現状のまま(VBのコードで直接プリンター印刷かけてます)全くのプログラム変更なく
して、EXCEL出力をするのは無理だとわかりました。
教えていただいたツールを使用して対応策を考えます。お客様にもその旨相談し、
了解していただけるよう交渉するつもりです。
今後ともよろしくお願いいたします。
■No6010に返信(うげぱぱさんの記事)
> ■No5997に返信(岡田 之仁さんの記事)
>
> 皆さんいろいろ情報ありがとうございます。
> 現状のまま(VBのコードで直接プリンター印刷かけてます)全くのプログラム変更なく
> して、EXCEL出力をするのは無理だとわかりました。
> 教えていただいたツールを使用して対応策を考えます。お客様にもその旨相談し、
> 了解していただけるよう交渉するつもりです。
> 今後ともよろしくお願いいたします。

みなさん、こんにちは。
内容的には解決してるみたいですが、続けさせていただきます。
VS.NETに付属で付いているCrystalReportsを使えば、Excelファイルにエクスポートする機能があるので、印刷処理をCrystalReportsで行えば(まぁ、ここの部分は改造する必要がありますが…)、後は煮るなり焼くなりになりますよ。
■No6019に返信(ぺがらぼさんの記事)
> みなさん、こんにちは。
> 内容的には解決してるみたいですが、続けさせていただきます。
> VS.NETに付属で付いているCrystalReportsを使えば、Excelファイルにエクスポートする機能があるので、印刷処理をCrystalReportsで行えば(まぁ、ここの部分は改造する必要がありますが…)、後は煮るなり焼くなりになりますよ。

あれって... ぐちゃぐちゃになりませんでしたっけ?
CrystalReports内のフィールドとフィールドの距離まで再現できましたっけ?

見出しとかなくて、全部等間隔の連票ならばいいんでしょうけど...
または、出力した後に微調整すればいいんでしょうけど、それだと何かと面倒だし...

# 現実的には、普通に作り込みを変えるしかないのかなぁ...
■No6025に返信(java.lang.Nullpoさんの記事)
> ■No6019に返信(ぺがらぼさんの記事)
>>みなさん、こんにちは。
>>内容的には解決してるみたいですが、続けさせていただきます。
>>VS.NETに付属で付いているCrystalReportsを使えば、Excelファイルにエクスポートする機能があるので、印刷処理をCrystalReportsで行えば(まぁ、ここの部分は改造する必要がありますが…)、後は煮るなり焼くなりになりますよ。
>
> あれって... ぐちゃぐちゃになりませんでしたっけ?
> CrystalReports内のフィールドとフィールドの距離まで再現できましたっけ?
>
> 見出しとかなくて、全部等間隔の連票ならばいいんでしょうけど...
> または、出力した後に微調整すればいいんでしょうけど、それだと何かと面倒だし...
>
> # 現実的には、普通に作り込みを変えるしかないのかなぁ...

罫線こそ出ませんが、幅などはかなり近い仕上がりになってましたよ。
まぁ、エクセルファイルのプリンタ設定の関係で多少はおかしくなりますが、イメージ通りの配置になっていましたよ。

なんにせよ、納期を急ぐにであれば、何処かで妥協するしかありませんし、多少遅くなっても、.NET用にコーディングし直して良い物を作る…の二択だと思います。

DOBON.NET | プログラミング道 | プログラミング掲示板