• 締切済み

【VB.Net Windows】印刷設定(Canon 給紙方)の設定方法を教えてください

【状況説明】 WindowsXP、VB2005EE Access2003 でWindowsアプリケーションを開発中です。 開発したソフトに長形3号封筒の宛名印刷の機能を盛り込みたく、縦型印字や郵便 番号印字位置調整などの設定も出来て正常に動作できています。ところが印刷は 全てプリンター下部(カセット)より給紙されるために、その都度普通紙を取り外し 封筒をセットする面倒な操作をしています。 Canonのプリンターにはの上部(オートシートフィーダ)から給紙しすることが可能で、 印刷設定の給紙方法には以下の項目がありますが、そのプログラムによる設定方法 がわかりません。 ・給紙切替ボタンに従う ・オートシトフィーダ ・カセット ・用紙なし時に自動切換え ・用紙割り当てに従う 【質問内容】 上記の設定を「オートシトフィーダ(又は給紙切替ボタンに従う)」にプログラムから設定 したいのですが、よろしくお願いいたします。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

> Public Property PageSource as PageSource といった使い方ではなくて 印刷するPrintDocuemntクラスのオブジェクトがあなたのプログラム中にあると思います このドキュメントのDefaultPageSettings.PaperSourceに対して ドキュメントに設定されたPrinterSettings.PaperSourcesのどれかを設定するといった記述が必要です --- MSDN より引用 --- ' コンボボックスの選択がある場合 If comboPaperSource.SelectedIndex <> -1 Then   ' 印刷ドキュメントのPageSettings.PaperSourceを変更 printDoc.DefaultPageSettings.PaperSource = _     printDoc.PrinterSettings.PaperSources.Item(comboPaperSource.SelectedIndex)     ' 印刷ドキュメントのプリンタ設定の給紙装置を選択   End If ------------------------

One_net
質問者

お礼

redfox63さん、ありがとうございました。 おかげさまで正常に動作することが出来、大変助かりました。私の場合次のようにインスタンスしていました。 Dim pd As New System.Drawing.Printing.PrintDocument '--PrintDocumentオブジェクトの作成 次のように記述して、comboPaperSource.SelectedIndexは適当に0~3を設定してオートシートフィーダは 1であることが知りました。 pd.DefaultPageSettings.PaperSource = pd.PrinterSettings.PaperSources.Item(1) まだまだ基本的なことが解らず、これからも勉強いたします。本当に助かりました。ありがとうございました。

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

まり詳しくないんですが PriterSettingsのPaperSourcesでプリンターの給紙方法が取得出来るようです PageSettings.PaperSourceにどこから給紙するのかを設定すればいいようですよ MSDNのPrinterSettings.PaperSourcesやPageSettings.PaperSourceなどを参照してみてください http://msdn.microsoft.com/ja-jp/library/system.drawing.printing.printersettings.papersources(VS.85).aspx http://msdn.microsoft.com/ja-jp/library/system.drawing.printing.pagesettings.papersource(VS.85).aspx

One_net
質問者

お礼

redfox63さん、早速の回答ありがとうございました。 指摘されたMSDNのサイトをみて早速試してみました。だか経験が浅いためにサイトに記されております 次の設定はどの位置にどのようにして設定すればよいのか解らず困っています。 >Visual Basic (宣言) >Public Property PaperSource As PaperSource この宣言をしないと例文の"PageSettings"に次のようなエラーが表示されます。 「名前 'PaperSource'は宣言されていません」 以上よろしくご指導下さい。

関連するQ&A