简短的问题: 我需要以相反的顺序遍历所有段落。我目前正在使用For Each循环:
For Each Paragraph in ActiveDocument.Paragraphs
' looping code
Next
我为什么要这样做: 我从一个错误导出列表元素格式的工具中导出了文件。我需要仔细研究并将所有这些元素设置为“列表”字样式。
我通过使用段落中的各种ListFormat属性来完成这一部分。问题在于列表只是继续,列表重新启动时不会保留。我最后列出的号码是aaaaa。然后bbbbb。等
我打算使用ListFormat.ListValue属性来确定何时重新启动列表(当此值= 1时将重新启动),但这将不起作用,因为当您将一个段落元素转换为新的“ List”类型时,下一段也会自动将ListFormat.ListValue重置为1。如果我可以反向浏览段落,那么这将不再是问题。
答案 0 :(得分:2)
与其使用For Each
循环,还不如按索引循环遍历各个段落,然后可以使用Step -1
轻松地从最后一个段落循环到第一个段落。
Sub Test()
Dim i As Long
For i = ActiveDocument.Paragraphs.Count To 1 Step -1
ActiveDocument.Paragraphs(i).... ' do whatever you want with each paragraph
Next i
End Sub