(Wordマクロ)間隔設定の仕方

間隔をマクロで設定します。行間設定は、行間設定の仕方を、その他の段落設定については、逆引き段落設定を参照してください。

このページで解説する項目は次の通りです。上から順番に解説します。




①段落前・段落後の設定

段落前・段落後の間隔は、pt単位で設定する方法と行単位で設定する方法があり、どちらも数値で指定します。

プロパティ 説明
SpaceBefore 段落前の間隔をpt単位で設定
SpaceBeforeAuto 段落前の間隔を自動に設定
SpaceAfter 段落後の間隔をpt単位で設定
SpaceAfterAuto 段落後の間隔を自動に設定
LineUnitBefore 段落前の間隔を行単位で設定
LineUnitAfter 段落後の間隔を行単位で設定

使用例

pt単位で設定する場合

Public Sub 段落設定()
With Selection.Paragraphs
''段落前を6ptに設定する
    .SpaceBefore = 6
''段落後を4ptに設定する
    .SpaceAfter = 4
End With
End Sub

自動に設定する場合

Public Sub 段落設定を自動に()
With Selection.Paragraphs
''段落前を自動に設定する
    .SpaceBeforeAuto = True
''段落後を自動に設定する
    .SpaceAfterAuto = True
End With
End Sub

段落前(段落後)を自動に設定している場合、SpaceBeforeLineUnitBeforeで数値を指定しても自動のまま変わりません。

行単位で設定する場合

Public Sub 段落前設定()
With Selection.Paragraphs
''段落前を1行に設定する
    .LineUnitBefore = 1
''段落後を1.5行に設定する
    .LineUnitAfter = 1.5
End With
End Sub

pt単位での設定・行単位での設定ともに、小数での指定が可能です。

②同じスタイルの場合は段落前にスペースを追加しない

スタイルに関わる処理として内部で別管理されているためか、この項目はほかと設定の仕方が異なります。

詳細は、インストラクターのネタ帳様の同じスタイルの場合は段落間にスペースを追加しないのOn/Offを切り替えるWordマクロを参照してください。ここでは、参照先で紹介されているコードを引用するにとどめます。

使用例

Sub 同じスタイルの場合は段落間にスペースを追加しない設定を切り替える()

  With Dialogs(wdDialogFormatParagraph)
  If .NoSpaceBetweenParagraphsOfSameStyle = 0 Then
    .NoSpaceBetweenParagraphsOfSameStyle = 1
  Else
    .NoSpaceBetweenParagraphsOfSameStyle = 0
  End If
  .Execute
  End With

End Sub

「同じスタイルの場合は段落間にスペースを設定しない」のオン・オフでどのように表示が変わるかについては、以下を参照ください。

③1ページの行数を指定時に文字を行グリット線に合わせる

DisableLineHeightGridプロパティで切り替えることができます。

しかし、このプロパティは一つ罠があります。Word上の項目名は「1ページの行数を指定時に文字を行グリット線に合わせる」ですが、プロパティをみると、「DisableLineHeightGrid」になっています。
そのため、Trueに設定すると、「1ページの行数を指定時に文字を行グリット線に合わせる」からチェックが外れ、Falseに設定すると、「1ページの行数を指定時に文字を行グリット線に合わせる」にチェックが入ります。




上の「同じスタイルの場合は段落間にスペースを設定しない」という項目名と合わせて、設定名と設定値が非常に間違いやすくなっている印象を受けます。
なお、当然ですが「1ページの行数」を指定していない場合は、このチェックボックスがオンであってもオフであっても、見た目は変わりません。

使用例

Public Sub 行グリット線合わせる()
''1ページの行数を指定時に文字を行グリット線に合わせる
Selection.Paragraphs.DisableLineHeightGrid = False
End Sub
Public Sub 行グリット線合わせない()
''1ページの行数を指定時に文字を行グリット線に合わせない
Selection.Paragraphs.DisableLineHeightGrid = True
End Sub

次のマクロはチェックボックスがオンになっている場合はオフに、オフになっている場合はオンにします。

Public Sub 行グリット線切り替え()

With Selection.Paragraphs
    Select Case .DisableLineHeightGrid
    Case True ''行グリッド線に合わせていないとき
        .DisableLineHeightGrid = False '行グリッド線に合わせる
    Case False '行グリッド線に合わせているとき
        .DisableLineHeightGrid = True '行グリッド線に合わせない
    End Select
End With

End Sub

おすすめ

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください