pagetaka

写真、PC、ネット、岡山、旅の話題をお届けします

WordVBA:段落先頭が「全角空白」の場合削除、一行が改行文字だけの場合削除

Sub 先頭全角空白削除()
'
' 段落の先頭全角空白削除 と 改行のみの段落削除
'
  Dim para As Paragraph
  For Each para In ActiveDocument.Paragraphs '段落単位で
    With para.range.Characters
      If .First.Text = " " Then '先頭空白か判断
        .First.Delete
      End If
    End With
    If para.range.Characters.Count = 1 Then para.range.Text = ""  '改行のみの段落削除
  Next
End Sub '先頭全角空白削除()

Wordの段落先頭が全角空白の場合、ひとまずそれを削除する、という作業をVBAがやってくれます。あわせて、改行(VBCR)のみの行を削除します。

イロイロな隘路がありますので、完ぺきではありません。しかし、まあ、少しは作業が楽になり、「段落スタイル」で設定しようかという入口の助けにはなろうかと…。改行のみの行の削除はこれ以外の方が良いのかも…。

はい、そうです。そもそも、段落の先頭を「空白」でないようにしていれば、このようなVBAをつくる必要もないのですけどね…。