改行・改段落の怪(Word)

改行・改段落の怪

前回

akashi-keirin.hatenablog.com

の続き。

前回のリスト1を再掲する。

前回のリスト1
'テキストの置換'
Private Sub replaceText(ByVal str1 As String, _
  With Selection.Find
    Call .ClearFormatting
    Call .Replacement.ClearFormatting
  End With
  
  With Selection.Find
    Call .Execute(FindText:=str1, _
                  replacewith:=str2, _
                  Replace:=wdReplaceAll)
  End With
  
  With Selection.Find
    Call .ClearFormatting
    Call .Replacement.ClearFormatting
  End With
End Sub

Private Sub removeUnsightlyCR()
  '連続するCarriageReturnを一つにする'
  Call replaceText(vbCr & vbCr, vbCr)  '……(*)'
End Sub

これの(*)の部分、replaceTextメソッドの第2引数をvbLfに変えたらどうなるのだろうか。やってみた。

vbCrをvbLfに置き換える

前掲リストの(*)部分を次のように書き換える。

Call replaceText(vbCr & vbCr, vbLf) 

そして、

f:id:akashi_keirin:20200313071553j:plain

おなじみ、このドキュメント(笑)を用意して、上掲コードを実行する。

f:id:akashi_keirin:20200313071556j:plain

な・・・・なんだってーーー!?

なかなか衝撃的な結果ではあるまいか。

てっきり

f:id:akashi_keirin:20200313071600j:plain

こうなるものと思っていたのだが。

おわりに

ますますわけがわからなくなってきたぞ。