[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/04/29(Sat) 10:45
投稿者名:nick
Eメール:
URL :
タイトル:
印刷時の用紙設定について
いつも参考にさせていただいています。

印刷時に用紙設定を行うと、以下のエラーが出てしまいます。

エラーコード:380
(プロパティの値が不正です。EPSON LP-9800CPL)

Printer.PaperSize = vbPRPSB4

上記の設定を行うと出てしまいます。
確かに、プリンタのプロパティを開いてみると利用可能な用紙には
A4しかありません。
やはり、プリンタのプロパティのデバイスの設定でB4用紙を設定し、
利用可能な用紙にB4を設定すればエラーにはなりません。

しかし、エクセルやワードで印刷設定を行うと、全ての用紙が選択できるようになっています
(A5〜A3、B5〜B4、C5、ハガキ、レターなど)

もし、API等で実現できるのであればご教授ください。

開発環境 Windows2000SP4 VB6.0SP6

投稿時間:2006/04/29(Sat) 22:28
投稿者名:neptune
Eメール:
URL :
タイトル:
Re: 印刷時の用紙設定について
先ず、プリンタのドライバーは最新の物を使ってますか?

長い間印刷してないので参考にならないかもしれませんが、こんなAPIを使えば
出来るかもしれない、程度で読んで下さい。

先ず、使用できる用紙の取得はDeviceCapabilities で出来たと思います。

APIで印刷すると、CreateDCを行う際、DEVMODE構造体のdmSize で用紙の指定は出来ると思います。
但し、この方法では印刷を全部APIですることになるかもしれません。
(忘れたんで未確認です。)

プリンタ情報の変更はDocumentPropertiesで出来るようですが、Printerオブジェクトで
印刷できるかどうかはやったこと無いです。(出来そうな気はします)

後は、これらをGoogleで検索すればVBのサンプルがあるかもしれませんね?

投稿時間:2006/04/30(Sun) 00:34
投稿者名:nick
Eメール:
URL :
タイトル:
Re^2: 印刷時の用紙設定について
ご返信ありがとうございます。
> 先ず、プリンタのドライバーは最新の物を使ってますか?
最新のものをEPSONからダウンロードして使っています

> 長い間印刷してないので参考にならないかもしれませんが、こんなAPIを使えば
> 出来るかもしれない、程度で読んで下さい。
>
> 先ず、使用できる用紙の取得はDeviceCapabilities で出来たと思います。
>
> APIで印刷すると、CreateDCを行う際、DEVMODE構造体のdmSize で用紙の指定は出来ると思います

> 但し、この方法では印刷を全部APIですることになるかもしれません。
> (忘れたんで未確認です。)


> プリンタ情報の変更はDocumentPropertiesで出来るようですが、Printerオブジェクトで
> 印刷できるかどうかはやったこと無いです。(出来そうな気はします)
>
> 後は、これらをGoogleで検索すればVBのサンプルがあるかもしれませんね?

上記に関しては、調べて見たいと思います。

投稿時間:2006/04/29(Sat) 23:50
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: 印刷時の用紙設定について
> 確かに、プリンタのプロパティを開いてみると利用可能な用紙には
> A4しかありません。
給紙トレイの設定はどのようになっているのでしょうか?
B4が入っているトレイが確実に選択されているのでしょうか?

> やはり、プリンタのプロパティのデバイスの設定でB4用紙を設定し、
> 利用可能な用紙にB4を設定すればエラーにはなりません。
プリンターはPCに直接つながっているのですか? ネットワークプリンターなら
権限等はどのようになっていますか?

VBからダイアログを表示しての設定では有効になるのですか?
hhttp://www.bcap.co.jp/hanafusa/VBHLP/priset.htm

投稿時間:2006/04/30(Sun) 01:12
投稿者名:nick
Eメール:
URL :
タイトル:
Re^2: 印刷時の用紙設定について
ご返信ありがとうございます。
> > 確かに、プリンタのプロパティを開いてみると利用可能な用紙には
> > A4しかありません。
> 給紙トレイの設定はどのようになっているのでしょうか?
> B4が入っているトレイが確実に選択されているのでしょうか?
トレイの設定は、使用しないになっています。
なので、B4用紙は何処にも設定されていない状態です。

> > やはり、プリンタのプロパティのデバイスの設定でB4用紙を設定し、
> > 利用可能な用紙にB4を設定すればエラーにはなりません。
> プリンターはPCに直接つながっているのですか? ネットワークプリンターなら
> 権限等はどのようになっていますか?
直接接続されているプリンターです。

> VBからダイアログを表示しての設定では有効になるのですか?
> hhttp://www.bcap.co.jp/hanafusa/VBHLP/priset.htm
設定は全て有効になります。

すみません、色々とテストを行っていたのですが、
このプリンターでB4用紙の値が違っているようです。
VBでB4用紙設定の値が vbPRPSB4=12 ですが、
EPSON LP-9200PS2 B4用紙=179 でした。

上記の問題は解決したこおとになりますが、
プリンターの印刷可能な用紙名前の取得と値の取得は可能なのでしょうか?

投稿時間:2006/04/30(Sun) 03:02
投稿者名:nick
Eメール:
URL :
タイトル:
Re^3: 印刷時の用紙設定について

> すみません、色々とテストを行っていたのですが、
> このプリンターでB4用紙の値が違っているようです。
> VBでB4用紙設定の値が vbPRPSB4=12 ですが、
> EPSON LP-9200PS2 B4用紙=179 でした。
>
> 上記の問題は解決したこおとになりますが、
> プリンターの印刷可能な用紙名前の取得と値の取得は可能なのでしょうか?

APIの DeviceCapabilities を使って何とかなりそうですね。
APIについて調べてみます。

投稿時間:2006/04/30(Sun) 08:00
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^4: 印刷時の用紙設定について
hhttp://www.bcap.co.jp/hanafusa/VBHLP/Sampleitiran.htm の印刷関係の No.336
DeviceCapabilities  & GetDeviceCaps API を使用