Wordで文書を作成していると、行間の調整が必要になることがあります。特に、VBA(Visual Basic for Applications)を使って自動化したい場合、その方法を知っておくと便利です。今回は、初心者の方にもわかりやすく、Word VBAを使った行間の調整方法をご紹介します。
VBAで行間を調整する基本の考え方
Wordでは、行間を調整するために「LineSpacingRule」と「LineSpacing」の2つのプロパティを使用します。
LineSpacingRuleとは?
「LineSpacingRule」は、行間の設定方法を指定するプロパティです。主な設定値は以下の通りです
ここがポイント!
- wdLineSpaceSingle: 通常の1行間隔(デフォルト)
- wdLineSpace1pt5: 1.5行間隔
- wdLineSpaceDouble: 2行間隔
- wdLineSpaceAtLeast: 指定した最小値以上の行間隔
- wdLineSpaceExactly: 指定した正確な行間隔
- wdLineSpaceMultiple: 指定した倍数の行間隔
LineSpacingとは?
「LineSpacing」は、実際の行間の幅をポイント単位で指定するプロパティです。例えば、24ポイントに設定すると、行間が24ポイントに固定されます。
実際にVBAで行間を設定してみよう
以下に、VBAを使って行間を設定する例をいくつかご紹介します。
通常の1行間隔に設定する
Selection.ParagraphFormat.LineSpacingRule = wdLineSpaceSingle
1.5行間隔に設定する
Selection.ParagraphFormat.LineSpacingRule = wdLineSpace1pt5
2行間隔に設定する
Selection.ParagraphFormat.LineSpacingRule = wdLineSpaceDouble
最小24ポイントの行間隔に設定する
With Selection.ParagraphFormat
.LineSpacingRule = wdLineSpaceAtLeast
.LineSpacing = 24
End With
正確に24ポイントの行間隔に設定する
With Selection.ParagraphFormat
.LineSpacingRule = wdLineSpaceExactly
.LineSpacing = 24
End With
1.5倍の行間隔に設定する
With Selection.ParagraphFormat
.LineSpacingRule = wdLineSpaceMultiple
.LineSpacing = LinesToPoints(1.5)
End With
よくある質問や疑問
Q1: 行間を0に設定したいのですが、エラーが出ます。どうすればよいですか?
VBAで行間を0に設定しようとすると、エラーが発生することがあります。これは、Wordの仕様で行間は最小でも0.7ポイント以上でなければならないためです。0ポイントに設定することはできません。
Q2: 行間を変更したい範囲を選択するにはどうすればよいですか?
行間を変更したい範囲を選択するには、以下のように記述します
Selection.Range.ParagraphFormat.LineSpacingRule = wdLineSpaceDouble
これにより、選択した範囲の行間が2行間隔に設定されます。
Q3: 行間を変更する際、段落の前後のスペースも調整できますか?
はい、段落の前後のスペースもVBAで調整できます。例えば、段落の前に12ポイント、後に6ポイントのスペースを設定するには、以下のように記述します
With Selection.ParagraphFormat
.SpaceBefore = 12
.SpaceAfter = 6
End With
まとめ
Word VBAを使って行間を調整することで、文書の見た目を整えることができます。最初は難しく感じるかもしれませんが、少しずつ試していくことで、より効率的に文書作成ができるようになります。
他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。



コメント