Word 文書内のすべての文をループして、セミ HTML コードに解析しようとしています。テスト中に、閉じられていない文が続く文がスキップされるという興味深い状況に遭遇しました。たとえば、次の 2 つの文があるとします。
これは特殊文字を含む段落の最初の文であり、もう 1 つの文が必要です。これは、そこにあるはずの 2 番目の文です。**
paragraph.range.sentences の各文をループすると、最初の文と段落の末尾の ".**" のみが取得されます。ただし、ピリオドとアスタリスクの間にスペースを追加すると、コードは ". **" で動作します。
ピリオドの後にスペースがなくても、マクロが文のすべてのテキストを読み取るようにするにはどうすればよいですか? 私のコード例は次のとおりです。
Public Sub ParseDoc()
Dim paras As Paragraphs
Dim para As Paragraph
Dim sents As Sentences
Dim sent As Range
Set paras = ActiveDocument.Paragraphs
For Each para In paras
Set sents = para.Range.Sentences
For Each sent In sents
MsgBox (sent.Text)
Next
Next
End Sub