文章を書くときには各段落の書き始めを1文字分下げるのですが、これがなかなか面倒。
Wordならば「字下げ」を使えばよいのですが一つ問題があります。
一般的に括弧(「)で始まるときは下げません(角川文庫だけは下げるようですが)。しかしWordの「字下げ」ではこれも下げてしまいます。
このように通常は1文字下げるけれども括弧のときは下げないようにするためのマクロです。
Sub 自動インデント()
Dim i As Long
Dim fsnormal As Single, fsfirst As Single
'標準のフォントサイズを取得
fsnormal = ActiveDocument.Styles(wdStyleNormal).Font.Size
'すべての段落について処理
For i = 1 To ActiveDocument.Paragraphs.Count
'最初の文字が"「"のときは字下げしない
'これ以外は標準のフォントサイズ分、字下げ
If ActiveDocument.Paragraphs(i).Range.Characters(1) = "「" Then
fsfirst = 0
Else
fsfirst = fsnormal
End If
ActiveDocument.Paragraphs(i).Range.Select
With Selection.ParagraphFormat
.LeftIndent = 0
.FirstLineIndent = fsfirst
End With
Next i
End Sub
Dim i As Long
Dim fsnormal As Single, fsfirst As Single
'標準のフォントサイズを取得
fsnormal = ActiveDocument.Styles(wdStyleNormal).Font.Size
'すべての段落について処理
For i = 1 To ActiveDocument.Paragraphs.Count
'最初の文字が"「"のときは字下げしない
'これ以外は標準のフォントサイズ分、字下げ
If ActiveDocument.Paragraphs(i).Range.Characters(1) = "「" Then
fsfirst = 0
Else
fsfirst = fsnormal
End If
ActiveDocument.Paragraphs(i).Range.Select
With Selection.ParagraphFormat
.LeftIndent = 0
.FirstLineIndent = fsfirst
End With
Next i
End Sub
コメント