Word VBA: Извлечение таблиц из выбора - PullRequest
0 голосов
/ 02 декабря 2011

У меня есть выделение в текстовом документе, которое я установил с помощью

With Selection.Find <br> .Text = "Blala"<br> .Forward = True<br> .Wrap = wdFindContinue<br> .MatchCase = True<br> End With<br> Selection.Find.Execute<br> Selection.Extend<br> Selection.Find.ClearFormatting<br> With Selection.Find<br> .Text = "Tada"<br> .Forward = True<br> .Wrap = wdFindStop<br> .MatchCase = True<br> End With<br> Selection.Find.Execute

Но в этом выделении есть и таблицы, я хочу форматировать только текст.Есть ли способ исключить таблицы из этого выбора?

Спасибо!

1 Ответ

0 голосов
/ 03 декабря 2011

Этот код перебирает все параграфы в выделении и выполняет замену «Blala» на «Tada», если в этом параграфе нет таблиц:

Sub ReplaceTextButSkipTables()

    Dim rng As Range
    Dim p As Paragraph

    Set rng = Selection.Range
    For Each p In rng.Paragraphs
        If p.Range.Tables.Count = 0 Then
            With p.Range.Find
                .ClearFormatting
                .MatchCase = True
                With .Replacement
                    .ClearFormatting
                    .ParagraphFormat.LeftIndent = InchesToPoints(1.27)
                End With
                .Execute FindText:="Blala", ReplaceWith:="Tada", Replace:=wdReplaceAll
            End With
        End If
    Next p

End Sub
...