2024/03/06

Notes - Excel 連携:#31)印刷の設定(用紙サイズ / マージン)

Notes から Excel を操作する方法について紹介する連載の 31 回目です。このテーマの投稿はしばらく間が空いてしましましたが、今回は前回までの印刷の設定に関する補足です。


用紙サイズと向き

帳票が複雑なものになると用紙サイズを大きくしたり、横向きにすることがあります。この操作を行うのも PageSetup オブジェクト を使用します。

用紙のサイズの変更は PaperSize プロパティ を使用します。設定できる値は XlPaperSize 列挙 (Excel) に定義されています。たくさんの定義がありますので、主な値を抜粋します。

定数 説明
7 xlPaperA4 A4
8 xlPaperA3 A3
9 xlPaperB4 B4
10 xlPaperB5 B5


用紙の向きは Orientation プロパティ を使用します。設定する値 XlPageOrientation 列挙 (Excel) は次の通りです。

定数 説明
1 xlPortrait 縦モード
2 xlLandscape 横モード


余白の設定

続いては余白の設定です。情報量優先であれば狭く、提出資料など見た目重視であれば狭いと美しくありません。ファイリングするのであれば綴じ代が必要です。”帳票” を出力する場合には、用途に合わせた余白設定も重要ですね。

Excel で余白の設定は、以下の画面で行います。

VBAでは、この余白の設定も PageSetup オブジェクト で行います。使用するプロパティはそれぞれ次の通りです。

プロパティ 説明
LeftMargin
RightMargin
TopMargin
BottomMargin
HeaderMargin ヘッダー
FooterMargin フッター

これらプロパティを使用する場合には単位に注意が必要です。上記画像の通り設定したときに記録した VBA のマクロは次の通りでした。

   With ActiveSheet.PageSetup
      .LeftMargin = Application.InchesToPoints(1.18110236220472)
      .RightMargin = Application.InchesToPoints(1.18110236220472)
      .TopMargin = Application.InchesToPoints(0.984251968503937)
      .BottomMargin = Application.InchesToPoints(0.78740157480315)
      .HeaderMargin = Application.InchesToPoints(0.47244094488189)
      .FooterMargin = Application.InchesToPoints(0.47244094488189)
   End With

『ページ設定』画面に入力した値は ”センチメートル” でしたが、マクロでは ”インチ” に変換されており、さらに ”ポイント” という単位に変換してセットされています。

  • 1 インチ = 2.54 センチメートル
  • 1 インチ = 72 ポイント

ですので、センチメートルとポイントの関係は、

  • 1 センチメートル = 1 ÷ 2.54 × 72 ≒ 28.346 ポイント

となります。


前回 Notes - Excel 連携 次回


0 件のコメント:

コメントを投稿