(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
段落前(段落後)を自動に設定している場合、SpaceBeforeやLineUnitBeforeで数値を指定しても自動のまま変わりません。
行単位で設定する場合
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
「同じスタイルの場合は段落間にスペースを設定しない」のオン・オフでどのように表示が変わるかについては、以下を参照ください。
「同じスタイルの場合は段落間にスペースを設定しない」のちがい pic.twitter.com/OpKaKWD5Wu
— yuki_間もなくフリー (@we_VBA) 2017年12月2日
③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
最近のコメント