印刷

プリンター・印刷範囲・倍率・用紙サイズの設定

 ここではExcel文書の印刷にあたり、「プリンターの設定」「印刷範囲の設定」「印刷倍率の設定」「用紙の向きとサイズ」その他の主たる設定について解説します。

 印刷にはいろいろな設定項目があります。しかしその全てを設定しなければ印刷できないということではありません。

 ここにある主たる設定についてはその扱いに慣れるようにしてください。

プリンターの設定

 アクティブなプリンター名を取得したり設定するには「ActivePrinterプロパティ」を使います。

Application.ActivePrinter = “プリンター名”

 現在使用しているプリンター名を取得したり、通常のプリンターと異なる別のプリンターを一時的に使用する場合などに利用できます。

現在の通常プリンターとしてのプリンター名はこうなります。

Sub 現在printer()

        MsgBox “現在プリンター名:” & Application.ActivePrinter

End Sub

 通常ののプリンターから一時的に他のプリンターに変更してプリントし、その後通常のプリンターに戻しておく場合

Sub PRT()

  Dim tmpPR As String ‘①

  tmpPR = Application.ActivePrinter ‘②

‘③

  Application.ActivePrinter = _

“SP-790A on NPT1:”

  With ActiveSheet

    .PageSetup.PrintArea = _

“B2:H21” ‘④

    .PrintPreview ‘⑤

  End With

  Application.ActivePrinter = tmpPR ‘⑥

End Sub

① 通常プリンター名を代入する変数 型は文字列

② 通常プリンター名を tmpPR に代入

③ プリントに使用する別のプリンターを設定

④ 印刷範囲を設定(後で解説します)

⑤ 印刷プレビューの表示(後で解説します)

⑥ 印刷後、通常プリンターに設定を戻す

印刷範囲の設定

 印刷範囲を設定するには「PrintAreaプロパティ」で設定します。

Worksheetオブジェクト.PageSetup.PrintArea = 印刷範囲

上の表を印刷範囲に設定します。

Sub prt範囲()

 ActiveSheet.PageSetup.PrintArea = “B2:H21”

End Sub

 Rangeのオブジェクト変数を使って、下記のようにも書けます。

Sub prt範囲2()

 Dim ptRange As Range

 Set ptRange = Range(“B2:H21”)

 ActiveSheet.PageSetup.PrintArea = ptRange.Address

End Sub

印刷倍率の設定

 印刷の倍率を調整するには「Zoom プロパティ」を使用します。

このプロパティを使うことにより印刷倍率を 10~400% の範囲で設定することができます。

 またこのZoomプロパティを False に設定したうえで、「FitToPagesWideプロパティ」と「FitToPagesTallプロパティ」を使用することにより、指定したページに対し横方向や縦方向に収まるように倍率を調整することができます。

Sub 印刷倍率()

  ActiveSheet.PageSetup.Zoom = 60

  ActiveSheet.PrintPreview

End Sub

Sub 印刷倍率2()

  With ActiveSheet.PageSetup

        .Zoom = False

        .FitToPagesWide = 1

        .FitToPagesTall = 1

  End With

  ActiveSheet.PrintPreview

End Sub

 ZoomプロパティがFalseの場合、FitToPagesWide と FitToPagesTall は有効となります。

 その反対にZoomプロパティが True の場合は FitToPagesWide と FitToPagesTall ともに無効となります。

用紙の向きとサイズの設定

 用紙の向きを取得・設定するには「Orentationプロパティ」を使い、用紙のサイズを取得・設定するには「PapaerSizeプロパティ」を使います。

どちらも定数で指定します。

Sub 用紙設定()

  With ActiveSheet.PageSetup

        .Zoom = False

        .FitToPagesWide = 1

        .FitToPagesTall = 1

      ‘①

        .Orientation = xlLandscape

      ‘②

        .PaperSize = xlPaperA4

  End With

  ActiveSheet.PrintPreview

End Sub

① 用紙の向きを横に設定

② 用紙サイズを A4 に設定

ユーザーフォームのデータ受け渡し  ユーザーフォームで入力されたデータをExcelシートに書き込む作業、つまりデータの受け渡しについて解説します。  ユーザーフォ...
余白設定・中央配置・ヘッダーフッター設定  ここではプリントする際の用紙の余白の設定方法、印刷位置を用紙の中央に配置する方法、およびヘッダーの設定方法とフッターの設定方法につい...