VBA(Excel)で印刷の設定を行う
開発環境は、Windows 10 Pro(64bit)。動作テストは、Excel 2019。
印刷範囲の設定
With ActiveSheet.PageSetup .PrintArea = "$A$1:$BT$37" End With
タイトル行の設定
With ActiveSheet.PageSetup '1枚ごとに毎回、タイトル行が印刷される .PrintTitleRows = "$1:$3" End With
余白の設定
With ActiveSheet.PageSetup '上下左右に1cm、ヘッダーとフッターに0.5cmの余白設定 .LeftMargin = Application.CentimetersToPoints(1) .LeftMargin = Application.CentimetersToPoints(1) .TopMargin = Application.CentimetersToPoints(1) .BottomMargin = Application.CentimetersToPoints(1) .HeaderMargin = Application.CentimetersToPoints(0.5) .FooterMargin = Application.CentimetersToPoints(0.5) End With
向きの設定
With ActiveSheet.PageSetup '縦 .Orientation = xlPortrait '横 .Orientation = xlLandscape End With
拡大/縮小
With ActiveSheet.PageSetup '100% .Zoom = 100 '65% .Zoom = 65 End With
すべての列を1ページに印刷
With ActiveSheet.PageSetup .Orientation = xlPortrait .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = False End With
すべての行を1ページに印刷
With ActiveSheet.PageSetup .Orientation = xlLandscape .Zoom = False .FitToPagesWide = False .FitToPagesTall = 1 End With
ヘッダーの右部分にページごとの文字の追加
With ActiveSheet.PageSetup 'フォントサイズを36に設定している 'フォントサイズを設定する際は半角スペースを空けること '4枚印刷するつもりで、1枚目ならば、 『1 / 4 ページ』のように表示される .RightHeader = "&36 &P / &N ページ" End With
フッターの右部分にページごとの文字の追加
With ActiveSheet.PageSetup '下線を引いて太字でフォントサイズを36に設定している '4枚印刷するつもりで、1枚目ならば、 『1 / 4 ページ』のように表示される .RightFooter = "&U&B&36 &P / &N ページ計" End With
垂直方向の改ページ
With ActiveSheet '垂直方向の4列目の後で改ページ .Columns(4).PageBreak = xlPageBreakManual '垂直方向の4列目の後の改ページを削除 .Columns(4).PageBreak = xlPageBreakNone End With
水平方向の改ページ
With ActiveSheet '水平方向の5列目の後で改ページ .Rows(5).PageBreak = xlPageBreakManual '水平方向の5列目の後の改ページを削除 .Rows(5).PageBreak = xlPageBreakNone End With
改ページを削除
With ActiveSheet .ResetAllPageBreaks End With