印刷の余白のサイズを設定

印刷の余白のサイズを設定する。

VBAで印刷時の余白のサイズを設定するにはPageSetupオブジェクトを利用することで上下左右の余白、ヘッダ・フッタの余白のサイズを設定できます。

余白の設定に使う数値はポイントでの指定となるので、cm単位で指定をしたい場合はCentimetersToPointsメソッドを利用することでcmでの指定が可能になります。
またインチで指定したい場合はInchesToPointsメソッドを利用すればインチでの指定が可能です。

 ●ポイントで余白設定

'******************************************************************
' 印刷の余白設定(ポイント)
'******************************************************************
Sub Main_MarginPoint()

    With Sheets("Sheet1")
        'ヘッダの余白
        .PageSetup.HeaderMargin = 2
    
        'フッタの余白
        .PageSetup.FooterMargin = 2
    
        '上下左右の余白
        .PageSetup.TopMargin = 5
        .PageSetup.BottomMargin = 5
        .PageSetup.LeftMargin = 5
        .PageSetup.RightMargin = 5
        
        'プレビューで確認
        .PrintPreview
    End With
    
End Sub

 ●CMで余白設定

'******************************************************************
' 印刷の余白設定(センチ)
'******************************************************************
Sub Main_MarginCenti()

    With Sheets("Sheet1")
        'ヘッダの余白指定(㎝)
        .PageSetup.HeaderMargin = Application.CentimetersToPoints(1.5)
        
        'フッタの余白指定(㎝)
        .PageSetup.FooterMargin = Application.CentimetersToPoints(1.5)
        
        '上下左右の余白指定(㎝)
        .PageSetup.TopMargin = Application.CentimetersToPoints(1.5)
        .PageSetup.BottomMargin = Application.CentimetersToPoints(1.5)
        .PageSetup.LeftMargin = Application.CentimetersToPoints(1.5)
        .PageSetup.RightMargin = Application.CentimetersToPoints(1.5)
        
        'プレビューで確認
        .PrintPreview
    End With
    
End Sub

 ●インチで余白設定

'******************************************************************
' 印刷の余白設定(インチ)
'******************************************************************
Sub Main_MarginInches()

    With Sheets("Sheet1")
        'ヘッダの余白指定(㎝)
        .PageSetup.HeaderMargin = Application.InchesToPoints(0.5)
        
        'フッタの余白指定(㎝)
        .PageSetup.FooterMargin = Application.InchesToPoints(0.5)
        
        '上下左右の余白指定(㎝)
        .PageSetup.TopMargin = Application.InchesToPoints(0.5)
        .PageSetup.BottomMargin = Application.InchesToPoints(0.5)
        .PageSetup.LeftMargin = Application.InchesToPoints(0.5)
        .PageSetup.RightMargin = Application.InchesToPoints(0.5)
        
        'プレビューで確認
        .PrintPreview
    End With
    
End Sub