対象:Excel2010, Excel2013, Windows版Excel2016
「印刷時の余白を0にする(excel.worksheet.pagesetupプロパティ)」
という検索キーワードでのアクセスがありました。
余白を0にする操作をマクロ記録して作られるコード
[ページ設定]ダイアログ-[余白]タブで、上下左右の余白を「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
随分とダラダラしたコードですが、余白設定に関係するのは、以下の部分です。
アクティブシートの余白を0にするサンプルマクロ
ですから、必要な部分だけを書いた以下のようなSubプロシージャで、アクティブシートの余白を0にできます。
Sub 余白を0に()
With ActiveSheet.PageSetup
.LeftMargin = 0
.RightMargin = 0
.TopMargin = 0
.BottomMargin = 0
End With
End Sub
With ActiveSheet.PageSetup
.LeftMargin = 0
.RightMargin = 0
.TopMargin = 0
.BottomMargin = 0
End With
End Sub
マクロ記録でできたコードには、ApplicationオブジェクトのInchesToPointsメソッドが入っていますが、
0にするだけなら不要ですから、上記のようなプロシージャでOKです。
[スポンサードリンク]
- Newer:セル範囲の内側にVBAで罫線を引く-Borders(xlInsideVertical)・Borders(xlInsideHorizontal)
- Older:コメントの挿入をマクロ記録してできるコードにモヤモヤする
Home » エクセルマクロ・Excel VBAの使い方 » ページ設定・PageSetup » Excel VBAで余白を0にする