印刷ダイアログを使用したエクセルの印刷について


himizu  2012-06-07 19:42:28  No: 147641  IP: 192.*.*.*

印刷ボタンが押下されれば、
エクセルに必要な情報を書き込み(エクセルは非表示)、
ファイルを作成し、その後印刷ダイアログを表示して
OKボタンが押下されれば、印刷を実行するという
処理を作成しています。

印刷ダイアログにて、
プリンタのプロパティから出力用紙サイズが変更できるのですが
そのサイズが反映されず、エクセルにて設定している用紙サイズで
出力されてしまって困っています。

印刷実行には、PrintOutExメソッドを使用しています。
ここに持たせる引数に用紙サイズがなく、
設定できていないからだと思うのですが
何か良い方法等ありませんでしょうか?


以下簡単にコードを載せます。


エクセル作成部分は省略します・・


'//印刷ダイアログ機能有効無効設定
PrintInit(PrintDialog1)

'//印刷ダイアログ表示
If PrintDialog1.ShowDialog() = DialogResult.OK Then

   objBook.PrintOutEx(ActivePrinter:=PrintDialog1.PrinterSettings.PrinterName, _
                 Copies:=PrintDialog1.PrinterSettings.Copies)

End If


Private Function PrintInit(ByRef PrintDialog1 As PrintDialog) As PrintDialog
    PrintDialog1.AllowPrintToFile = False
    PrintDialog1.AllowSelection = False
    PrintDialog1.AllowSomePages = False
    PrintDialog1.PrinterSettings.Collate = False
    PrintDialog1.ShowHelp = False
    PrintDialog1.ShowNetwork = False

    Return PrintDialog1
End Function

編集 削除