在替换命令中,仅匹配文档的第一个单词

在替换命令中,仅匹配文档的第一个单词

我使用 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

相关内容