インデント設定は、単位によってコード記述に違いがあります。くり返しコードを修正しても、思いどおりに動作せず混乱しました。ようやく理解しても、すぐに忘れるため、設定の基本を残しておこうと思います。
サンプルコードでできること
○字単位、mm単位でインデントを指定します。
コードの説明
- mm単位でインデントを指定するとき、CharacterUnitLeftIndent とCharacterUnitFirstLineIndent を0に設定。その後LeftIndent とFirstLineIndent の数値を指定。
- 字下げインデントを設定するとき、左インデントと字下げインデントで指定する数値は、段落設定画面に入れる数値を同じです。
○字単位で指定する場合、CharacterUnitLeftIndent は「2」、CharacterUnitFirstLineIndent は1。次の図と同じ数値です。
mmで指定する場合、LeftIndentはMillimetersToPoints(10)、FirstLineIndent はMillimetersToPoints(3.7)。次の図と同じ数値です。
- ぶら下げインデントの設定の数値は、○字とmm単位で異なります。○字単位指定の場合、左インデントはCharacterUnitLeftIndent プロパティに次の図と同じ数値を指定。ぶら下げインデントは、設定したい数値にマイナスを付けて、CharacterUnitFirstLineIndent プロパティに指定します。「3字」に設定した場合、「-3」です。
- mm単位で設定する場合、画面と違う数値を入れるため分かりづらいです。LeftIndent に入れるのは、左インデントとぶら下げインデントを足した値です。左インデント10mm、ぶら下げ5mmに指定するとき、2つの値を足して15をLeftIndent に格納します。FirstLineIndent に入れるのは、○字単位のときと同じで、設定したい値にマイナスを付けた数字です。5mmインデントの時は、MillimetersToPoints(-5)を格納します。
Sub ○字単位で字下げインデント設定()
With Selection.ParagraphFormat
.CharacterUnitLeftIndent = 2
.CharacterUnitFirstLineIndent = 1
End With
End Sub
処理した結果の画面
Sub mm単位で字下げインデント設定()
With Selection.ParagraphFormat
.CharacterUnitLeftIndent = 0
.CharacterUnitFirstLineIndent = 0
.LeftIndent = MillimetersToPoints(10)
.FirstLineIndent = MillimetersToPoints(3.7)
End With
End Sub
処理した結果の画面
Sub ○字単位でぶら下げインデント設定()
With Selection.ParagraphFormat
.CharacterUnitLeftIndent = 1
.CharacterUnitFirstLineIndent = -3
End With
End Sub
処理した結果の画面
Sub mm単位でぶら下げインデント設定()
With Selection.ParagraphFormat
.CharacterUnitLeftIndent = 0
.CharacterUnitFirstLineIndent = 0
.LeftIndent = MillimetersToPoints(15)
.FirstLineIndent = MillimetersToPoints(-5)
End With
End Sub
処理した結果の画面