So-net無料ブログ作成

「通常使うプリンタ」の設定 [VB.NET]

----------------------------------------------------------
(開発・実行環境)
Microsoft Visual Studio 2005 Tools for Applications
Microsoft Visual Basic 2005
Crystal Reports for Visual Studio 2005
----------------------------------------------------------

***********************************************
(課題)
ラベルプリンタ出力用のラベル開発において、
クリレポのPrintToPrinterで直接出力した場合にカットがされない。
Viewerでプレビューを出して出力した場合はカットはされるが、
プリンタの設定が「通常使うプリンタ」となり制御できない。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=48670&forum=7&4

要は、
①ラベル出力後にカットを実行する
②印刷する前にプリンタの設定を手動で行わない
***********************************************

(解決策)
WMIのWin32_Printerクラスを用いて、「通常使うプリンタ」設定を直接変更することで対応。

http://dobon.net/vb/dotnet/graphics/defaultprinter.html

http://hanatyan.sakura.ne.jp/dotnet/Prt12.htm

ラベル出力後にプリンタの設定を元に戻すのを忘れずに。
(プリンタ名以外はコードは同じ)








とりあえずうまくいった。。。

しかし、、、

WMIの使い方、ぶっちゃけよくわからん。。

http://www.microsoft.com/japan/technet/scriptcenter/resources/wmifaq.mspx#EIB

↑何書いてるかわからんし。。。

リファレンス全部英語。。。

ウォッチでオブジェクトの中身見れない。。。
(見る方法もあるんだろうが)

そしてたぶんそのせいでエラーが出る。。。
(処理を流す分には大丈夫なはず)






サイトの情報を参考にするのに、「ぶっちゃけサンプルコードがあるのは助かるけど、教育上はよくないよね」なんて思ってたけど、今回はサンプルないと本当に困ったわ。


ありがとうございました。

 しっかりテストしよう。。。

 


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。