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 件のコメント:
コメントを投稿