我使用 Replace 将每个段落的第一个单词(们)斜体化,后跟一个制表符,并使用以下通配符表达式:
^13*^t
找到^13
新段落的开头。我只想替换段落中第一个单词后面跟着制表符的单词,因此使用^t
。
我将用 替换它^&
,并应用斜体格式。
这对文档中除第一段之外的所有内容都有效,因为第一段^13
显然不是以 , 开头的。有没有办法只匹配后面跟着制表符的第一个单词?
我将其放入宏中,因此我愿意在必要时使用仅在宏中可用的功能。
答案1
您可以使用 VBA 宏(可以将其分配给快捷键)实现此目的,而无需使用查找和替换。
注意:此代码还假设您使用之前帖子中描述的方法,按 SHIFT 和 ENTER 为同一发言者开始新段落。
以下代码循环遍历每个段落并检查每个单词 - 它将使每个单词变为斜体,直到找到制表符,此时它会移动到下一个段落,并重复该过程。
Sub italiciseBeforeTab()
Dim para As Paragraph
For Each para In ActiveDocument.Paragraphs
Dim wd As Range
For Each wd In para.Range.Words
wd.Font.Italic = True
If wd = vbTab Then Exit For
Next wd
Next para
End Sub