左右の余白を調整するマクロ(その2) の続きです。
余白の調整をセクション毎に行います。
このマクロで出来ること
複数のセクションがあり、それぞれに異なる余白を設定してある場合でも、マクロで一括で余白の増減を実行できます。
マクロの解説
セクション毎に余白の調整をしています。
For… Next ステートメントで、現在の文書中のセクションのそれぞれに対して処理をしています。
14行目~28行目で、余白をそれ以上増やせない・減らせない場合のエラーの出現を検出して、メッセージを表示しています。
エラーがない場合には、Errはゼロになるので、その場合には何も処理をしていません。
なお、セクション毎に処理をするだけならば、以下のような記述も可能ですよね。
Dim mySec As Section For Each mySec In ActiveDocument.Sections With mySec.PageSetup .LeftMargin = .LeftMargin + 2 .RightMargin = .RightMargin + 2 End With</span> ・・・エラー処理・・・ Next
この場合だと、エラーが発生した場合に何番目のセクションで起こったのかを再度計算する必要があるので、面倒だと思い、今回の記述にしました。
余白の増減の調整は、+2 の部分を変更してください。
マクロ
Sub 左右の余白の増加_セクション毎() Dim i As Integer On Error Resume Next With ActiveDocument For i = 1 To .Sections.Count With .Sections(i).PageSetup .LeftMargin = .LeftMargin + 2 .RightMargin = .RightMargin + 2 End With Select Case Err.Number Case 5505 MsgBox i & "番目のセクション:余白を増やせません。", _ vbExclamation, "お知らせ" Err.Clear Case 5149 MsgBox i & "番目のセクション:余白を減らせません。", _ vbExclamation, "お知らせ" Err.Clear Case 0 Case Else MsgBox Err.Description Err.Clear End Select Next i End With End Sub
▼関連記事
左右の余白を調整するマクロ