вставка пронумерованного элемента - PullRequest
0 голосов
/ 28 февраля 2011

Скажем, у меня есть документ Word, который содержит ключевое слово, за которым следует число, например следующее.

function_1: это первый функция, и обычно следующая функция является второй функцией. Как я увеличиваю следующую функцию. function_2: это второй функция. Здесь я останавливаюсь.

Как создать макрос, который будет выполнять поиск по всему текстовому документу, определить, что следующее число равно function_3, и вставить function_3 в документ в качестве текущей позиции курсора.

1 Ответ

0 голосов
/ 03 марта 2011

Попробуйте это:

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
...