印刷ボタンが押下されれば、
エクセルに必要な情報を書き込み(エクセルは非表示)、
ファイルを作成し、その後印刷ダイアログを表示して
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
ツイート | ![]() |