CommonDialogでプリンターを制御したい

解決


熱血老人A  2004-03-20 13:07:43  No: 82653  IP: [192.*.*.*]

OSがWin98の時にはVB6(SP5)でCommonDialogを使ってプリンターの用紙サイズ、印刷方向などをPCから自由に制御できていました。  しかしOSをXPにしてからは全く制御不能となり困っています。(印刷はできます)  プリンター(EPSON  890C)は以前と同じで、また今でもWin98からの制御だけは正常に働いてくれています。  どこに問題があるのかどなたか教えてください。

編集 削除
魔界の仮面弁士  2004-03-20 13:24:11  No: 82654  IP: [192.*.*.*]

権限不足により、設定変更ができない…という事が考えられます。

現在のログインユーザ(というより、プログラムの実行ユーザ)が、
対象プリンタの設定を変更するための権限を備えているかどうかを
確認してみてください。

例えば、[印刷]は許可されていても、その他のアクセス許可(特に、[プリンタの管理]権限)が不足しているという事はありませんか?

編集 削除
熱血老人A  2004-03-20 14:07:43  No: 82655  IP: [192.*.*.*]

魔界の仮面弁士様、早速のレスをありがとうございます。  このサイトは初めてですがこんなありがたいものとは知りませんでした。

「権限」については知識がありませんのでこれから勉強します。  しかし当方の現状を申し上げますと「NOTE PAD でもMSPAINTでも自由にプリンター制御ができているのに当方作成のものだけが言うことを聞いてくれない」と言う状況なのです。  「用紙情報を取得する」などプリンター情報の取得もできておりません。  

VB+XPにおける共通の問題なのではないかと思っていましたがこうして皆様の情報をお聞きしてみるとこれは当方だけの問題だったのでしょうか?  どこをcheckすれば良いのかなどのヒントがありましたらお願いします。

編集 削除
ぴろあき  2004-03-22 09:29:10  No: 82656  IP: [192.*.*.*]

Printer.PaperSize = CommonDialog1.PaperSize
Printer.Orientation = CommonDialog1.Orientation
等の1文がWin2K以降必要になったハズ。

編集 削除
ぴろあき  2004-03-22 09:33:19  No: 82657  IP: [192.*.*.*]

訂正:
Win2K以降←WinNT系では

参考:
http://support.microsoft.com/default.aspx?scid=kb;ja;173981&Product=vbJPN

編集 削除
ぴろあき  2004-03-22 09:36:33  No: 82658  IP: [192.*.*.*]

鬱・・・。
CommonDialogにPaperSizeは無いですね。。。

参考:
http://forums.belution.com/ja/vb/000/006/38.shtml

編集 削除
熱血老人A  2004-03-23 09:30:06  No: 82659  IP: [192.*.*.*]

ありがとうございます。  早速  Printer.Orientation・・・・の2行を入れて試しましたらプリンターは私の言うことを聞いてくれました。  これでXP使用開始以来の悩み、疑問が氷解しました。  と同時にCommonDialogの限界も感じました。

皆様、本当にありがとうございました。とても一人では到達できない情報を教えていただき、こんな有益なサイトを今まで知らなかったのが悔やまれました。  多謝!

編集 削除