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

投稿時間:2006/11/07(Tue) 11:05
投稿者名:ひとちゃん
Eメール:
URL :
タイトル:
ExecWBメソッドの印刷設定方法について
はじめまして。ひとちゃんです。

WebBrowserのExecWBメソッドを使用し印刷を行おうとしていますが
うまくいかない為、困っています。

現象としては以下のとおりになります。

「プリンタA」をデフォルト設定にしておき、常に「プリンタA」に出力させます。
がまれに「プリンタB」に対して出力することがあります。
※設定として印刷ダイアログを表示させている為、プリンタの変更が可能
 ⇒用途としても一応は切り替えが可能です。

この時、「プリンタB」に出力した後に別画面を「プリンタA」を出力しようとすると
通常使用するプリンタが「プリンタA」にもかかわらず「プリンタB」に出力されてしまいます。
※プロセスを終了していない状態で、WebBrowserの内容のみを変更して印字する為、出力先が「プリンタB」になっている。
 ⇒プロセスを終了させると、「プリンタA」に出力先が戻っている(当然なんのですが・・・)

★印刷ダイアログを表示させるたびに、初期の出力先を「プリンタA(通常使うプリンタ)」に設定したいのですが、よい方法はないでしょうか?

投稿時間:2006/11/07(Tue) 15:03
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: ExecWBメソッドの印刷設定方法について
どのようなコードでどのように印刷した時におきるのでしょうか?

チョット試した限りでは、指定したプリンターでしか印刷されませんでした。

事象を再現できるコードと手順(環境等も含め)等を詳しく投稿して頂いた方が、早く解決
できるかと思います。

投稿時間:2006/11/07(Tue) 17:16
投稿者名:ひとちゃん
Eメール:
URL :
タイトル:
Re^2: ExecWBメソッドの印刷設定方法について
WebBrowser1.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER, 6, 2
という文を実行しました。
以下が操作手順です。
1、「プリンタA(通常使用するプリンタ)」にて印刷を行う。
 ⇒印刷画面にて「OK」を押下する

2、「プリンタB」にて印刷を行う。
 ⇒印刷画面にて出力するプリンタを「プリンタA」から「プリンタB」に変更し「OK」を押下する

3、「プリンタA(通常使用するプリンタ)」にて印刷を行う。
 ⇒2で「プリンタB」に設定している為、デフォルトが「プリンタB」になっている
★3の工程で、印刷画面があがったときに、「プリンタA(通常使用するプリンタ)」に設定したい。

上記★の部分が実装したけど、うまくいかない部分です。
つまり印刷設定(部数とかプリンタ等を選択する画面)を起動時に、前回情報でなく標準で使用するプリンタにて印刷を行いたいのです。
プロセスを起動しなおせばいいのですが、常駐プログラムの為、そうも行かないのが現状です。

言葉足らずで申し訳ないですがよろしくお願いします。

投稿時間:2006/11/07(Tue) 18:06
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re^3: ExecWBメソッドの印刷設定方法について
> 2、「プリンタB」にて印刷を行う。
>  ⇒印刷画面にて出力するプリンタを「プリンタA」から「プリンタB」に変更し「OK」を押下する
この処理を、「通常使うプリンタをBにする」という手順に変更するとか…。


> 上記★の部分が実装したけど、うまくいかない部分です。
どうしても変更したいのであれば、
http://www.microsoft.com/japan/msdn/web/scripting/dhtmlprint.aspx
で紹介されている ScriptX コンポーネントのような手順を取る事になるのでは。
(上記ページの最下部にあるトピックを参照のこと)