2016-08-17 2 views
1

мне нужен выбор конкретного содержания каждого пункта в MS Word 2013. Я пытаюсь выбрать содержимое, используя по VBA скрипт ..Как выбрать по одной конкретной строке в слове vba script?

Sub RepalaceStrong() 
    Selection.Find.ClearFormatting 
    Selection.Find.Replacement.ClearFormatting 
    With Selection.Find 
     .Text = "<Strong" 
     .Forward = True 
     .Wrap = wdFindContinue 
     .Format = False 
     .MatchCase = False 
     .MatchWholeWord = False 
     .MatchWildcards = False 
     .MatchSoundsLike = False 
     .MatchAllWordForms = False 
    End With 
    Selection.Extend 
    With Selection.Find 
     .Text = "</Strong>" 
     .Forward = True 
     .Wrap = wdFindContinue 
     .Format = False 
     .MatchCase = False 
     .MatchWholeWord = False 
     .MatchWildcards = False 
     .MatchSoundsLike = False 
     .MatchAllWordForms = False 
    End With 
End Sub 

Но я попробовал этот код, я не могу выбрать один на один текст.

Вход:

In general, a vector field is a function whose domain is a set of points in <Strong> a vector field is </Strong> a vector field is <Strong>function</Strong> whose domain is a set of points 

>In general, a vector field is a function whose <Strong>domain</Strong> is a set of points 

Можно выбрать один на один все сильные элементы ...

ответ

0

Вы должны указать правильный шрифт форматирования в вашей операции поиска (обратите внимание на .Font.Bold = True часть ниже):

With Selection.Find 
    .ClearFormatting 
    .Font.Bold = True 
    .Replacement.ClearFormatting 
    .text = "" 
    .Forward = True 
    .Wrap = wdFindContinue 
    .Format = True 
    .MatchCase = False 
    .MatchWholeWord = False 
    .MatchWildcards = False 
    .MatchSoundsLike = False 
    .MatchAllWordForms = False 
End With 

Тогда, конечно, это зависит от того, что вы хотите сделать с жирным шрифтом. В настоящее время приведенный выше код просто настраивает объект Find для поиска жирного текста.

0

Это не сильный вы ищете, это Font.Bold

Option Explicit 

Sub FindBold() 
    Dim myDoc As Document 
    Set myDoc = ThisDocument 

    Dim searchRange As Range 
    Dim foundRange As Range 
    Set searchRange = myDoc.Range(0, myDoc.Range.End) 
    With searchRange.Find 
     .ClearFormatting 
     .Forward = True 
     .Font.Bold = True 
     .Execute 
     Do While .Found 
      Set foundRange = searchRange 
      foundRange.Select 
      foundRange.Collapse direction:=wdCollapseEnd 
      MsgBox "Found bold text." 
      .Execute 
     Loop 
    End With 
End Sub 
0

Мои анс:

Sub RepalaceStrong() 
    Selection.Find.ClearFormatting 
    Selection.Find.Replacement.ClearFormatting 
    With Selection.Find 
     .Text = "<Strong" 
     .Forward = True 
     .Wrap = wdFindContinue 
     .Format = False 
     .MatchCase = False 
     .MatchWholeWord = False 
     .MatchWildcards = False 
     .MatchSoundsLike = False 
     .MatchAllWordForms = False 
    End With 
    Selection.Find.Execute 
    Selection.Extend 

    With Selection.Find 
     .Text = "</Strong>" 
     .Forward = True 
     .Wrap = wdFindContinue 
     .Format = False 
     .MatchCase = False 
     .MatchWholeWord = False 
     .MatchWildcards = False 
     .MatchSoundsLike = False 
     .MatchAllWordForms = False 
    End With 
Selection.Find.Execute 
Selection.Collapse Direction:=wdCollapseEnd 
End Sub 

Я получил его ....

Смежные вопросы