プロが教える店舗&オフィスのセキュリティ対策術

VB6.0バンドル版のクリスタルレポートを使用して、VBからレポートを出力するプログラムを作っています。
クリレポ上のプリンタ設定で、プリンタの給紙方法を「自動選択」にしておいても、プリンタが変わると意図しない動作をします。
例えば、クリレポでサイズ:B4、給紙方法:自動選択としておいても、トレイ1のA4用紙に印刷されたります。(クリレポ作成時と同じプリンタドライバなら問題ありません)
確かに実使用環境でもう一度クリレポを開いてみると、給紙方法などの設定が変わっています。
使用するプリンタに依存しない、または自動的に切り替えることはできないでしょうか?
同様の問題で困った経験のある方、その時にとった打開策等ありましたら教えていただけませんでしょうか?

A 回答 (2件)

VB6にはクリスタルレポートがついていませんので


VB5からアップグレードしたVB6って事でしょうか?
(VB5にはついてました。 .NETにもつくようですね)

だとすると私が使っているCrystal Reports 8.5とは多少違うかも
しれませんが、OCXを使用していると無理みたいです。

RDCの場合、フォームエディタ→ファイル→「プリンタの設定」画面で
「既定のプロパティ」のチェックをはずしておくとレポートが持っている
プリンタ情報で印刷されるようです。
が、プリンタ選択を行うとレポートの保持している情報は破棄されるようなので
ランタイム環境でプリンタを選択させている場合はプログラミングで
設定しないとならないようです。


ひょっとしたらプリンタごと(ドライバごと)にレポートファイルを作成
した方が楽かもしれません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
やはり「プリンタごとに作る」しかないということですね。
ちなみにVB5バンドル版のクリレポで、VBのプログラムからプリンタ設定を動的に変更することは可能なのでしょうか?何かヒントになることでもご存知でしたら、教えていただけませんか?

お礼日時:2002/04/17 11:00

プリンタ設定を動的に変更するのであれば、Printerオブジェクトで


設定すればよいと思います。

私はPrinter.PaperSizeにて用紙サイズを変更しようとしたのですが
プリンタごとに定数が違うようなので上手くいきませんでしたが。
(私の場合少し特殊な用紙を使用していた関係もあると思いますが。)

APIに何かあるのかも知れませんが私は良くわかりません。

逆に何か方法があるなら教えてください(笑)
    • good
    • 1
この回答へのお礼

ありがとうございました。
Printerオブジェクトについて調べてみます。

お礼日時:2002/04/17 15:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています