【发布时间】:2019-02-12 04:32:14
【问题描述】:
我有一个查找/执行例程,它以我的自定义样式Bullet_Type_1_Level_1(一种自定义项目符号列表样式)查找段落,并处理这些段落。 (它检查给定范围内的每个段落,看看它是否在一个句点内终止,但这对于这个问题并不重要)。该例程目前工作正常,但我想扩展它以搜索我的大纲列表的其他级别(这会转化为其他样式)并在另一个列表中搜索样式。有没有一种compact 的方式让我的代码同时在Bullet_Type_1_Level_2 和numlist_Level_1 中查找段落(并且也处理它们)?这是我现有代码的内容:
For Each para In RangeToCheck.Paragraphs
With Selection.Find
.Text = ""
.Style = "Bullet_Type_1_Level_1"
.Wrap = wdFindStop
.Execute
Do While .Found = True 'Look for the specified style
strSentence = Selection.Text
'Test the string using a block of code that I'm omitting, for brevity.
'Finally, depending on what happened, put or don't a period at the end of the original range.
End With
Next para
【问题讨论】:
-
为了清楚起见,您想对三种样式中的每一种都做同样的事情(省略的代码)?
-
对任何采用三种样式中的任何一种的段落,都可以。
-
我想我知道该怎么做了。首先,删除 Selection.Find 和相关代码。然后,因为无论如何我都在处理每一段,所以只需有一个 If/Then 循环来检查三件事中的一件是否为真。如果其中至少有一个为真,那么我处理该段落: If para.Style = "A" Or para.Style = "B" Or para.Style = "C" Then...Else 'do nothing End If。
-
@JoshG 如果您已经解决了自己的问题,请随时回答(此处允许)并将其标记为已接受的答案,让其他人知道您不再需要帮助。谢谢!
-
那么,您真的不需要指定
.Wrap标准吗?