tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルPrintDialog の [ページの順序] ・ [シートごとのページ]
記事No5093
投稿日: 2007/03/12(Mon) 18:27
投稿者高み
Form1 に PrintDialog を配置し、下記コードを貼り付けて、実行。
フォームをクリックしてみてください。
[印刷] ダイアログが表示され、各設定変更ができ、変更後の設定値を
イミディエイトウィンドウに表示するだけのプログラムです。

Public Class Form1
    Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
        With PrintDialog1
            If .ShowDialog = Windows.Forms.DialogResult.Cancel Then
                Exit Sub
            End If
            Debug.Print("[全般]")
            Debug.Print("プリンタ名         : " & .PrinterSettings.PrinterName.ToString)
            Debug.Print("部数               : " & .PrinterSettings.Copies.ToString)
            Debug.Print("部単位で印刷       : " & .PrinterSettings.Collate.ToString)
            Debug.Print("[レイアウト]")
            Debug.Print("印刷の向き         : " & .PrinterSettings.DefaultPageSettings.Landscape.ToString)
            Debug.Print("両面印刷           : " & .PrinterSettings.Duplex.ToString)
            Debug.Print("ページの順序       : ")
            Debug.Print("シートごとのページ : ")
            Debug.Print("[用紙/印刷]")
            Debug.Print("給紙方法           : " & .PrinterSettings.DefaultPageSettings.PaperSource.ToString)
        End With
    End Sub
End Class

そのダイアログの [レイアウト] タブに
[ページの順序] ・ [シートごとのページ] が存在しますが、
この設定値はどのプロパティで取得できるのでしょうか?

上のコードで言うと
            Debug.Print("ページの順序       : " & .PrinterSettings.DefaultPageSettings.?????????.ToString))
            Debug.Print("シートごとのページ : " & .PrinterSettings.DefaultPageSettings.?????????.ToString))
もしくは
            Debug.Print("ページの順序       : " & .PrinterSettings.?????????.ToString))
            Debug.Print("シートごとのページ : " & .PrinterSettings.?????????.ToString))
のようにしたいのですが、
??????????????? の部分の名前が見つかりません・・・

よろしくお願いいたします。

環境: Windows 2000 (SP4) + Visual Basic 2005 (SP1)

[ツリー表示へ]
タイトルRe: PrintDialog の [ページの順序] ・ [シートごとのページ]
記事No5110
投稿日: 2007/03/14(Wed) 08:35
投稿者花ちゃん
> この設定値はどのプロパティで取得できるのでしょうか?

どなたからも回答がないようなので。

多分、Framework 2.0 の機能ではできないのでないでしょうか?
(Framework 2.0 から印刷関係の機能も追加されてはいるのですが)

Win32API 関数を使用すれば、ページの順序 あたりは取得・設定できそうですが
かなり面倒で複雑になるかと思います。
どちらにしても簡単には取得できないでしょうね。

[ツリー表示へ]