PR
スポンサーリンク

【ExcelVBA】マクロで印刷ページ設定の余白の設定する方法

スポンサーリンク
エクセルVBA-マクロでページ設定の余白を設定する方法-アイキャッチ 印刷設定・ページ設定
スポンサーリンク
スポンサーリンク
スポンサーリンク

ページ設定の余白の設定とは

まず手動で設定するときの手順です。
エクセルの「ページ設定」画面を開くときは下の手順で設定画面を開きます。

ファイル⇒印刷⇒ページ設定の順に開きます。
ページ設定ウィンドウの中には「ページ」「余白」「ヘッダー/フッター」「シート」のタブがあります。

「余白」タブで上下左右とヘッダー・フッターの余白の幅を設定することができます。

デフォルトの設定は↓のようになっています。

ページ設定_余白の設定画面の画像
スポンサーリンク

マクロで余白を設定する方法(コードの書き方)

マクロでページ設定の値をセットする際は、プリンタ接続を一旦オフに設定し、ページ設定を行う内容はWithステートメントで囲んで書く方法がおすすめです。

1行だけならWithで囲まなくても問題ないですが、ページ設定は複数の項目を一度に設定したい場合が多いです。複数の項目を設定する場合はWithステートメントで囲んで記述した方が動作が早くなり見た目にもスッキリとしてメンテナンスしやすくなるメリットがあります。

‘プリンタ接続をオフにする
Application.PrintCommunication = False

 ’ページ設定を行う
  With ActiveSheet.PageSetup
   ここに設定したい内容を記述する
  End With

‘プリンタ接続をオンにする
Application.PrintCommunication = True

余白の設定は「~Margin」でどの部分の余白かを指定して、Application.CentimetersToPoints メソッドでcm単位で幅を指定する方法が分かりやすいです。

’左の余白を1.0cmに指定する場合
.LeftMargin = Application.CentimetersToPoints(1)

各余白の設定は下のように指定します。

左の余白:LeftMargin
右の余白:RightMargin
上の余白:TopMargin
下の余白:BottomMargin
ヘッダーの余白:HeaderMargin
フッターの余白:FooterMargin

スポンサーリンク

サンプル:余白の値を設定する方法

サンプルマクロで実際に余白の設定を変更してみます。
下のような表があり、現在はデフォルト(標準)の余白設定になっています。

ページ設定_変更前の余白の状態の画像

この余白設定をマクロから指定した値に変更していきます。

サンプルマクロで実行している内容
①プリンタ接続をオフにする
②ページ設定を行う
③余白の設定を行う
④プリンタ接続をオンにする

Sub sample1()

    'プリンタ接続をオフにする
    Application.PrintCommunication = False
    
    'ページ設定を行う
    With ActiveSheet.PageSetup
        
        '左の余白を1cmにする
        .LeftMargin = Application.CentimetersToPoints(1)
        
        '右の余白を1cmにする
        .RightMargin = Application.CentimetersToPoints(1)
        
        '上の余白を1cmにする
        .TopMargin = Application.CentimetersToPoints(1)
        
        '下の余白を1cmにする
        .BottomMargin = Application.CentimetersToPoints(1)
        
        'ヘッダーの余白を0.5cmにする
        .HeaderMargin = Application.CentimetersToPoints(0.5)
        
        'フッターの余白を0.5cmにする
        .FooterMargin = Application.CentimetersToPoints(0.5)

    End With
    
    'プリンタ接続をオンにする
    Application.PrintCommunication = True
    
End Sub

変更後の印刷プレビューの画面です。
ちょっと分かりにくいですが、余白が狭くなったので表が全体的に左上に詰まった状態になっています。

ページ設定_変更後の余白の状態の画像

マクロ実行後のページ設定「余白」タブの状態です。
指定した値に変化していることが分かります。

ページ設定_余白の設定-マクロ実行後の設定画面の画像
スポンサーリンク

※コードのコピー利用について

・コードのコピーは自由におこなっていただけます。
・気を付けて作成はしていますがコードには誤りがある可能性があります。
・自身の環境で動作確認をしていますが、すべての方の環境で同様に動くことは保証できません。
・データの破損等の責任は負いかねますのでご自身の責任のもとお使いください。

タイトルとURLをコピーしました