Home » エクセルマクロ・Excel VBAの使い方 » ページ設定・PageSetup » Excel VBAで余白を0にする

対象:Excel2010, Excel2013, Windows版Excel2016

「印刷時の余白を0にする(excel.worksheet.pagesetupプロパティ)」
という検索キーワードでのアクセスがありました。

余白を0にする操作をマクロ記録して作られるコード

[ページ設定]ダイアログ-[余白]タブで、上下左右の余白を「0」にする操作を、

VBAで余白を0にする

[スポンサードリンク]

マクロ記録してみると、以下のようなコードが作られます。

Sub 余白を0にする操作をマクロ記録してできたコード()
 Application.PrintCommunication = False
 With ActiveSheet.PageSetup
  .PrintTitleRows = ""
  .PrintTitleColumns = ""
 End With
 Application.PrintCommunication = True
 ActiveSheet.PageSetup.PrintArea = ""
 Application.PrintCommunication = False
 With ActiveSheet.PageSetup
  .LeftHeader = ""
  .CenterHeader = ""
  .RightHeader = ""
  .LeftFooter = ""
  .CenterFooter = ""
  .RightFooter = ""
  .LeftMargin = Application.InchesToPoints(0)
  .RightMargin = Application.InchesToPoints(0)
  .TopMargin = Application.InchesToPoints(0)
  .BottomMargin = Application.InchesToPoints(0)
  .HeaderMargin = Application.InchesToPoints(0.31496062992126)
  .FooterMargin = Application.InchesToPoints(0.31496062992126)
  .PrintHeadings = False
  .PrintGridlines = False
  .PrintComments = xlPrintNoComments
  .PrintQuality = 600
  .CenterHorizontally = False
  .CenterVertically = False
  .Orientation = xlPortrait
  .Draft = False
  .PaperSize = xlPaperA4
  .FirstPageNumber = xlAutomatic
  .Order = xlDownThenOver
  .BlackAndWhite = False
  .Zoom = 100
  .PrintErrors = xlPrintErrorsDisplayed
  .OddAndEvenPagesHeaderFooter = False
  .DifferentFirstPageHeaderFooter = False
  .ScaleWithDocHeaderFooter = True
  .AlignMarginsHeaderFooter = True
  .EvenPage.LeftHeader.Text = ""
  .EvenPage.CenterHeader.Text = ""
  .EvenPage.RightHeader.Text = ""
  .EvenPage.LeftFooter.Text = ""
  .EvenPage.CenterFooter.Text = ""
  .EvenPage.RightFooter.Text = ""
  .FirstPage.LeftHeader.Text = ""
  .FirstPage.CenterHeader.Text = ""
  .FirstPage.RightHeader.Text = ""
  .FirstPage.LeftFooter.Text = ""
  .FirstPage.CenterFooter.Text = ""
  .FirstPage.RightFooter.Text = ""
 End With
 Application.PrintCommunication = True
End Sub

随分とダラダラしたコードですが、余白設定に関係するのは、以下の部分です。

VBAで余白を0にする

アクティブシートの余白を0にするサンプルマクロ

ですから、必要な部分だけを書いた以下のようなSubプロシージャで、アクティブシートの余白を0にできます。

Sub 余白を0に()
 With ActiveSheet.PageSetup
  .LeftMargin = 0
  .RightMargin = 0
  .TopMargin = 0
  .BottomMargin = 0
 End With
End Sub

マクロ記録でできたコードには、ApplicationオブジェクトのInchesToPointsメソッドが入っていますが、

VBAで余白を0にする

0にするだけなら不要ですから、上記のようなプロシージャでOKです。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » ページ設定・PageSetup » Excel VBAで余白を0にする

「ページ設定・PageSetup」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.