引用:
行単位で、先頭の空白が削除
正しくは
段落単位であるとして。
引用:
Dim myPara As Paragraph
引用:
myPara.Range.Text = LTrim(myPara.Range.Text)
段落内の文字列全体を書き換える方式だと、個々の文字列に
設定されている書式を維持できませんので、あまりお奨めしません。
この場合は「段落の先頭において半角/全角スペースが 1 文字以上
連続している範囲」のみを探し当てて削除するようにして下さい。
(標準モジュール)
----------------------------------------------------------------------
Sub DeleteLeftSpacesInParagraphs()
Dim docTarget As Word.Document
Dim paraTarget As Word.Paragraph
Dim rngTarget As Word.Range
Dim lngIndex As Long
Dim lngLeftSpacesCount As Long
Set docTarget = ActiveDocument
For lngIndex = docTarget.Paragraphs.Count To 1 Step -1
Set paraTarget = docTarget.Paragraphs(lngIndex)
Set rngTarget = paraTarget.Range
With rngTarget
.MoveEnd wdCharacter, -1
lngLeftSpacesCount = Len(.Text) - Len(LTrim(.Text))
If lngLeftSpacesCount > 0 Then
.SetRange .Start, .Start + lngLeftSpacesCount
.Delete Unit:=wdCharacter, Count:=1
End If
End With
Set rngTarget = Nothing
Set paraTarget = Nothing
Next
Set docTarget = Nothing
End Sub
----------------------------------------------------------------------