none
印刷設定ができない RRS feed

  • 質問


  • Visual Basic 2005 Express で印刷設定ができません。

    objPrintDocument.DefaultPageSettings.Margins = New Margins(0, 0, 0, 0)

    上記のように余白をゼロにして、

    Call objPageSetupDialog.ShowDialog()

    セットアップダイアログを開いても余白がすべて 10cm になっています。

    そのほかにプリンタドライバ固有の設定、「用紙サイズ」がプログラムから
    設定できないようなのですが、設定する方法はあるのでしょうか?

    2006年11月14日 0:27

すべての返信

  • デザイン画面でobjPageSetupDialogを選択して
    DocumentプロパティでobjPrintDocumentを選んでください。

    また、.NETでは Call は要りません。

    また、余白の単位はミリでは無いでしょうか。

    2006年11月14日 0:52
  •  

    PageSetupDialog の Document プロパティは正しく設定しています。

    余白は、ミリ単位ですね。すみません、訂正します。

     

    2006年11月14日 5:09
  •  den25 さんからの引用

    セットアップダイアログを開いても余白がすべて 10cm になっています。

    私も自分の環境で以下の簡単なコードで確認してみましたが
    ダイアログの余白には0, 0, 0, 0が反映されていました。

    ※PageSetupDialog1.Document を PrintDocument1 に設定しています。

    PrintDocument1.DefaultPageSettings.Margins = New Margins(0, 0, 0, 0)
    PageSetupDialog1.ShowDialog()

    Marginsの設定から
    ダイアログ表示するまでに、
    他に何か設定変更していませんか。


    # MSDNライブラリのMargins コンストラクタの説明
    # 1/100 インチ単位と書いてあるのに
    # 100入れるとダイアログでは10になりますね
    # 1/10 mm 単位の間違いじゃないのかな…
    #
    # ページセットアップダイアログの(ミリ)って一体…
    # 確か1 inch = 25.4 mm のはず……

    2006年11月14日 6:24
  •  

    PrintDocument1.DefaultPageSettings.Margins = New Margins(0, 0, 0, 0)
    PageSetupDialog1.ShowDialog()

    と記述したらちゃんと動作しました。

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

     

    2006年11月15日 0:34