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

WindowsNT4.0(SP6)上で、VB5(SP3)で作成したアプリケーションからAccess98のレポートをオープンし、オープンしたレポートのページ設定(用紙サイズ)をVBのプログラム内部で設定できるようにしました。

用紙サイズを設定するときは 指定したレポートの PrtDevMode プロパティのメンバ PaperSize に PaperSizeメンバ値(8=A3、9=A4、10=A4 Small、11=A5 等)をセットするとうまく行きました。

しかし問題なのが、Windowsのプリンタ設定のサーバーのプロパティで作成した用紙サイズをレポートの用紙サイズに設定しようと思っても、PaperSizeメンバ値(用紙番号)がわからないため、設定できません。

サーバープロパティで作成した用紙の用紙番号をVBで取得する方法がありましたら是非教えて下さい!

ネット上でいろいろ調べているのですが見つかりません。
1つだけ同じ内容のものを見つけたのですが、使用しているソフトが Delphiだったのでダメでした。

どうかよろしくお願いします。m(__)m

A 回答 (2件)

DeviceCapabilities関数で用紙番号と用紙名を列挙出来ます


参考URLの0327, 0328参照

参考URL:http://www.vbvbvb.com/jp/gtips/index.html
    • good
    • 0
この回答へのお礼

ありがとうございます。
2つのサンプルプログラムを参考にして、うまくいきました。)^o^(

お礼日時:2001/10/19 16:18

通常使うプリンタの用紙をサーバープロパティで作成した用紙


に設定した後、VBでPrinter.PaperSizeの値はどうなりますか?

この回答への補足

お返事ありがとうございます。

確かにこの方法だとPrinter.PaperSizeから値を取得できます。

しかし、この値をプログラム内に固定値で組込むのは問題があります。
例えば、作成した用紙を一度削除して作り直したりした場合、別の値になってしまう可能性があるからです。

あと、API関数のEnumFormsで用紙情報を取得して、用紙名は列挙する事は出来たのですが、これって用紙番号は取得できないですよね?

補足日時:2001/10/19 10:51
    • good
    • 0

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