如何复制特定文本?

How to copy specific text?

我有数百个word文件,一个一个地工作,每个文件都有这样一行(不在同一个相对位置):

Proc. nº 0032545-15.2012.8.19.0053

我需要一个只复制序列号的代码,在这种情况下0032545-15.2012.8.19.0053,然后我可以用它来粘贴。它不需要抑制点。

我试过的代码复制了整行,但我只能从前面的零开始复制。
在那之后,我需要光标转到文件的特定部分(在这种情况下,一行 12.12.13,但它不会!这是我到目前为止尝试过的方法:

Sub Macrovolta2()
    With Selection.Find
        .Text = "Proc. nº "
        .Execute Forward:=True
        Selection.MoveRight Unit:=wdCharacter, Count:=25, Extend:=wdExtend
        Selection.Copy
    End With

    With Selection.Find
        .ClearFormatting
        .Text = "12.12.13"
        .Execute Forward:=True
        Selection.MoveUp Unit:=wdLine, Count:=1
    End With
End Sub

录制您的宏。 Atl T, M, R.

您可能会发现 F8 功能很有用。按F8和你要select最多的字符。

So Search for Proc, press right arrow to get the beginning of number, F8 and space will select to next space (假设数字后面有一个),然后 Shift + 向左箭头缩小 selection,这样尾随 space 就不会被 select 编辑。

另一种方法是搜索格式一致的号码。

^#^#^#^#^#^#^#-^#^#.^#^#^#^#.^#.^#^#.^#^#^#^#

^# 表示任何数字。以上找到你的号码。

另外,Word 的搜索选项“使用通配符”会打开正则表达式。您可以搜索并提取子字符串。

Proc. nº ([0-9]{7}-[0-9]{2}.[0-9]{4}.[0-9].[0-9]{2}.[0-9]{4})

要仅访问数字,请使用 \1(指括号 () 中的第一项)。 [0-9] 表示任意数字。 {4} 表示前一个字符的 4。