我想循环显示Word文档中的所有句子,并将它们解析为半HTML代码。在测试过程中,我遇到了一个有趣的情况,任何一个句子后跟一个非关闭的句子都会被跳过。例如,如果我有以下两个句子:用于MS Word的VBA不会循环显示段落中的所有句子
这是带有特殊字符的段落中的第一个句子和 应该有一个句子。这是第二个句子 应该有。**
当我穿过paragraph.range.sentences每句循环,我只得到了第一句和“**”,在结束这段落。但是,如果我在期间和astriks之间添加空格,那么代码将工作为“。**”。
如何确保宏读取句子中的所有文本,即使时间段之后没有空格?我的示例代码如下:
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
感谢您的答案。我注意到与“#”字符类似的东西,但大多数文本字符都可以。这有点奇怪为什么会发生这种情况。让我重写一下我的循环,看看我能否得到它的工作。 – Michael
我确实很快看到有关转义序列的任何注释,但有很多不相关的搜索结果。 – horatio