「印刷」ダイアログを表示する
スポンサーリンク
VB6 では、CommonDialog コントロールの ShowPrinter メソッドを使用します。他のダイアログの機能も含まれてしまっているので、有効でないプロパティが存在します。
複数のオプションを選択したい場合は Or キーワードで付加する必要があります。また、面倒なことに [キャンセル] ボタンを選択したことを、エラーを起こすことによって判断することになります。
以下の例では、適用可能な属性を列挙していますが、必要のないものは削ってください。オプションの殆どが、Flags プロパティに集約されています。
サンプルコード
以下にサンプルコードを示します。
VB6.0 以前
' デフォルト プリンタを使用する
'CommonDialog1.PrinterDefault = True
' 印刷範囲で指定可能な最大ページ数を設定する
CommonDialog1.Max = 32767
' 印刷範囲で指定可能な最小ページ数を設定する
CommonDialog1.Min = 1
' 印刷開始ページを設定する
CommonDialog1.FromPage = 1
' 印刷終了ページを設定する
CommonDialog1.ToPage = 32767
' 部数を設定する
CommonDialog1.Copies = 8
' 印刷の向きを縦にする
'CommonDialog1.Orientation = cdlPortrait
' 印刷の向きを横にする
CommonDialog1.Orientation = cdlLandscape
' 印刷ダイアログではなく、プリンタの設定ダイアログを表示する
'CommonDialog1.Flags = CommonDialog1.Flags Or PrinterConstants.cdlPDPrintSetup
' [ファイルへ出力] チェックボックスを無効にする
'CommonDialog1.Flags = CommonDialog1.Flags Or PrinterConstants.cdlPDDisablePrintToFile
' [ファイルへ出力] チェックボックスを非表示にする
'CommonDialog1.Flags = CommonDialog1.Flags Or PrinterConstants.cdlPDHidePrintToFile
' [ファイルへ出力] チェックボックスをオンにする
CommonDialog1.Flags = CommonDialog1.Flags Or PrinterConstants.cdlPDPrintToFile
' ページ範囲を「選択した部分」にする
'CommonDialog1.Flags = CommonDialog1.Flags Or PrinterConstants.cdlPDSelection
' ページ範囲を「ページ指定」にする
CommonDialog1.Flags = CommonDialog1.Flags Or PrinterConstants.cdlPDPageNums
' ページ範囲の「選択した範囲」を無効にする
'CommonDialog1.Flags = CommonDialog1.Flags Or PrinterConstants.cdlPDNoSelection
' ページ範囲の「ページ範囲」を無効にする
'CommonDialog1.Flags = CommonDialog1.Flags Or PrinterConstants.cdlPDNoPageNums
' [ヘルプ] ボタンを表示する (プリンタの設定ダイアログのみで有効)
'CommonDialog1.Flags = CommonDialog1.Flags Or PrinterConstants.cdlPDHelpButton
' 通常使うプリンタがなくても警告を表示しない
'CommonDialog1.Flags = CommonDialog1.Flags Or PrinterConstants.cdlPDNoWarning
' Flags の属性はこのように同時に選択するのが一般的である
'CommonDialog1.Flags = cdlPDPrintToFile Or cdlPDPageNums
' [キャンセル] ボタンを選択した場合はエラーを発生させる
CommonDialog1.CancelError = True
' エラーをトラップしない
On Error Resume Next
' ダイアログを表示する
Call CommonDialog1.ShowPrinter
' [キャンセル] ボタンが選択されなかった場合は、印刷の処理を実行する
If Err.Number <> ErrorConstants.cdlCancel Then
Call MsgBox("ここに、印刷の処理を実装してください")
End If
' エラー処理を通常のロジックに戻す
On Error GoTo 0
関連するリファレンス
準備中です。
