「印刷」ダイアログを表示する
スポンサーリンク
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
関連するリファレンス
準備中です。