PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
22540 | 06/03/09 10:15:10 | RE(2):PB10.0: 帳票発行単体exeで、出力先プリンタの切り替えについて By revolla |
22539 | 06/03/09 08:59:39 | RE(1):PB10.0: 帳票発行単体exeで、出力先プリンタの切り替えについて By Hakofugu |
22538 | 06/03/08 20:32:11 | PB10.0: 帳票発行単体exeで、出力先プリンタの切り替えについて By revolla |
カテゴリ:PowerBuilderの開発環境
日付:2006年03月09日 10:15 発信者:revolla
題名:RE(2):PB10.0: 帳票発行単体exeで、出力先プリンタの切り替えについて
Hakofuguさん、おはようございます。
朝早くから助かります。
毎度程度の低い質問に親切な回答ありがとうございます。
早速色々試していたため、レスが遅くなりましてすみません。
>PB8からはプリンタ制御に関する関数群が追加されましたが、それを使用せず
>レジストリを操作する必要性があるのですか?
>
>私の場合は、
>
>PrintGetPrinters()
>PrintGetPrinter()
>PrintSetPrinter()
>
>を使って帳票の出力先を変更しています。(元に戻すこともやっています)
>このあたりの関数だけでも、そこそこのことは実現できると思います。
いえ、特にレジストリ操作にこだわるつもりはありません。
実は昨日、上記の制御関数を使って記述をしてみたのですが、
上手く動かずにそっちは諦めようかと思っていたんです。
本日、あらためて記述をしてみました。
----------------------------------------------------------------------------
IF is_warehousegroup = \"3AB\" THEN
//デフォルトプリンタの確認
ls_getdefaultprinter = PrintGetPrinter ( )
//INIファイルからの取得
ls_printer = ProfileString(\"C:\\printer.ini\", \"d_rp_error\",\"3AB\", \"None\")
//取得したプリンタを出力プリンタに設定
PrintSetPrinter(ls_printer)
END IF
//帳票出力
this.Print (true)
----------------------------------------------------------------------------
これで制御ができました。
昨日はPrintSetPrinter()の引数(プリンタ名 スプール ポート)をタブ区切りにしてませんでした…。
また質問してしまうんですが、
PrintSetPrinter()で、出力プリンタを変更しても、それがシステムのデフォルトになるわけではないんですよね?
上記、帳票発行後、
PrintSetPrinter(ls_getdefaultprinter)を書く必要はありますでしょうか?
PrintGetPrinter()で取得してくるプリンタは、
システムのデフォルト(通常使うプリンタに設定されているもの)だと思うんですが、
これはPBを起動した状態で変更しても、PrintGetPrinter()で取得できる値は変わらないようです。
これはアプリ的な制約でしょうか?
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows 2000
DBMS Oracle Net 9
Browser (記載なし)
Server SoftWare
OS Windows Server 2003
DBMS Oracle10G
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.