DOBON.NET DOBON.NETプログラミング掲示板過去ログ

プリンタの印刷設定

環境/言語:[WindowsXP, VB.NET, Framework Ver1.1.4322 SP1]
分類:[.NET]

お世話になってます。

VB.NETにて、プリンタの印刷設定を変更するロジックを
作成しています。

やりたい事は、
『「印刷設定」というボタンをクリックすると、ダイアログを
表示せずに、コンピュータにインストールされているプリンタの
印刷設定を変更する。』
という内容です。

いろいろ調べて「PrintDocument」を使用し、用紙サイズ等を
変更できる事はわかり、ロジックは作成したのですが、
インストールされているプリンタのプロパティを見ても
何も変わりないのです・・・。

どうすれば、印刷設定の変更ができるのでしょうか?
ご教示、宜しくお願い致します。

ロジックはこんな感じです。
-------------------------------------------
Dim pd As New System.Drawing.Printing.PrintDocument
Dim pPaperSz As System.Drawing.Printing.PaperKind
Dim pkSize As System.Drawing.Printing.PaperSize

'用紙サイズ-'A4にする
pPaperSz = Printing.PaperKind.A4
For Each pkSize In pd.PrinterSettings.PaperSizes
If pkSize.Kind = pPaperSz Then
pd.DefaultPageSettings.PaperSize = pkSize
End If
Next
'印刷方向 横:True 縦:False
pd.DefaultPageSettings.Landscape = False
-----------------------------------------------
こんにちは、じゃんぬ です。

■No13512に返信(SOMYさんの記事)
> いろいろ調べて「PrintDocument」を使用し、用紙サイズ等を
> 変更できる事はわかり、ロジックは作成したのですが、
> インストールされているプリンタのプロパティを見ても
> 何も変わりないのです・・・。

一時的なものですからね。
PrintDocument で扱う設定を変更しているだけですよね。
■No13513に返信(じゃんぬねっとさんの記事)
> こんにちは、じゃんぬ です。
> 一時的なものですからね。
> PrintDocument で扱う設定を変更しているだけですよね。

 あっ・・・そうですね・・・。
 その通りですね・・・。

 うぅ〜ん・・・プリンタの印刷設定はどうやって変更するんだろ・・・。
■No13515に返信(SOMYさんの記事)
> うぅ〜ん・・・プリンタの印刷設定はどうやって変更するんだろ・・・。

OS のプリンタ設定を勝手に変更されちゃったら、ユーザさんが困惑すると思いますよ。
何故に必要なんですか?
■No13516に返信(じゃんぬねっとさんの記事)
> OS のプリンタ設定を勝手に変更されちゃったら、ユーザさんが困惑すると思いますよ。
> 何故に必要なんですか?

 そのユーザーさんからの要望なのです・・・。
 「印刷設定」ボタンを押したら、プリンタの設定を
 決まった値に変更したいと・・・。
解決していないが、解決!!
解決済み!
■No13524に返信(SOMYさんの記事)
> 解決していないが、解決!!

なぜ?ちょいと身勝手だとは思いませんか?

やるなら、APIあたりを調べてくださいよ。
■No13525に返信(はいこーんさんの記事)
> なぜ?ちょいと身勝手だとは思いませんか?
>
> やるなら、APIあたりを調べてくださいよ。

 説明不足ですいません。
 これから、調査もしますが、お客さんと相談で
 仕様の変更も踏まえて進む事になったので、これ以上
 このレスを放置してはおけないかな?と思い解決にしました。

 調べていないわけではないのですが・・・。
 APIのOpenPrinter、GetPrinter、MoveMemory、SetPrinterまでは
 たどりついたのですが、まだうまく動作していません・・・。

 一応、解決ということに・・・。
 うまく実現できたときには、改めてご報告致します。

 ありがとうございました。
解決済み!
C#ですが、こんな記事もあります。

Changing printer settings using C# - The Code Project - .NET
http://www.codeproject.com/dotnet/NET_Printer_Library.asp
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板