Извлечение определенного текста из файла Word - PullRequest
0 голосов
/ 31 декабря 2010

У меня есть документ Word с размерами шрифта 14 и 18, а документ имеет 1500 страниц.

Я должен внести конкретные изменения в шрифт 14 и шрифт 18, и поэтому после поиска я наткнулся на VBA для Word, который позволил бы мне легко это сделать.

Поскольку я никогда раньше не занимался VBA, я попробовал это:

Sub tryIt()

If Selection.Font.Size = 18 Then
MsgBox ("test")

End If
End Sub

Но это не работает ... msgbox () просто для проверки правильности распознавания текста.

Так, как я могу отделить / различить размер шрифта 14 и 18 в документе Word и реализовать это в скрипте vb?

Есть ли способ извлечь текст размером 14 и 18 или найти его, чтобы я мог найти / заменить?

Ответы [ 2 ]

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

Сложно точно сказать, что вы ищете, но следующий макрос заменит весь смежный текст с размером шрифта 14 на текст "fuzz".

Sub TryIt()
With Selection.Find
    .ClearFormatting
    .Font.Size = 14
    .Replacement.ClearFormatting
    .Text = ""
    .Replacement.Text = "fuzz"
    .Wrap = wdFindContinue
    .Format = True
    .Execute Replace:=wdReplaceAll
End With
End Sub

Если это не то, что вам нужно, возможно, вам нужно немного уточнить, что вы имеете в виду.

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

Вы не сказали, что не работает с вашим кодом. Однако для начала попробуйте это:

Sub tryIt()
    Dim findRange As Range
    Set findRange = ActiveDocument.Range
    findRange.Find.ClearFormatting
    findRange.Find.Font.Size = 18

    Do While findRange.Find.Execute(findtext:="") = True
        findRange.Select
        'Do something here

        DoEvents
    Loop
End Sub
...