插入编号的项目

时间:2011-02-28 14:57:40

标签: ms-word word-vba

假设我有一个word文档,其中包含一个关键字后跟一个数字,如下所示。

  

function_1:这是第一个   功能,通常是下一个   功能是第二个功能。怎么样   我是否增加下一个功能。   function_2:这是第二个   功能。我停在这里。

如何创建一个宏来搜索整个word文档,确定下一个数字为function_3,并将function_3作为当前光标位置插入文档。

1 个答案:

答案 0 :(得分:0)

试试这个:

Public Sub Test1()
    On Error GoTo MyErrorHandler

    Dim sourceDocument As Document
    Set sourceDocument = ActiveDocument

    Dim findRange As Range
    Set findRange = sourceDocument.Range
    findRange.Find.ClearFormatting
    findRange.Find.MatchWildcards = True

    Dim functionNumber As String
    Dim largestNumber As Long
    largestNumber = -1
    Do While findRange.Find.Execute(findtext:="function_[0-9]{1,} :") = True
        'findRange.Select

        functionNumber = Left$(findRange.Text, Len(findRange.Text) - 2)
        functionNumber = Mid$(functionNumber, 10)

        If functionNumber > largestNumber Then largestNumber = functionNumber

        DoEvents
    Loop

    sourceDocument.Range.InsertAfter "function_" & largestNumber + 1 & " :"

    Exit Sub

MyErrorHandler:
    MsgBox "Test1" & vbCrLf & vbCrLf & "Err = " & Err.Number & vbCrLf & "Description: " & Err.Description
End Sub