2011-02-28 44 views
0

說我有一個word文檔,其中包含一個關鍵字後跟一個數字,如下所示。插入一個編號的項目

function_1:這是一個第一 功能,通常下一 函數是第二功能。 如何增加下一個功能。 function_2:這是第二個 函數。我停下來。

如何創建,將在整個word文檔搜索宏,確定下一個數字是function_3,並插入function_3插入到文檔中的當前光標位置。

回答

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 
+0

優秀的,它工作得很好。我不得不用'Selection.TypeText(「function_」&largestNumber + 1&「:」)'替換lin'sourceDocument.Range.InsertAfter「function_」&largestNumber + 1&「:」'。這將把下一個放在當前的光標位置。 – tehnyit 2011-03-04 13:44:15