1

Я использую «Заменить», чтобы выделить курсивом первые слова каждого абзаца, за которыми следует вкладка с использованием этого подстановочного выражения:

^13*^t

^13 находит начало нового абзаца. Я хочу заменить первые слова абзаца только в том случае, если за ними следует вкладка, следовательно, ^t .

И я заменяю его на ^& , и применяется форматирование курсивом.

Это работает для всего, кроме первого абзаца в документе, поскольку, по-видимому, оно не начинается с ^13 . Есть ли способ сопоставить только первое слово (слова) с последующей вкладкой?

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

1 ответ1

0

Этого можно добиться с помощью макроса VBA (который можно назначить сочетанию клавиш), не используя команды find и replace.

NB. В этом коде также предполагается, что вы используете метод, описанный в предыдущем посте, SHIFT и ENTER, чтобы начать новый абзац для того же докладчика.

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

Sub italiciseBeforeTab()

    Dim para As Paragraph

    For Each para In ActiveDocument.Paragraphs

        Dim wd As Range

        For Each wd In para.Range.Words

            wd.Font.Italic = True
            If wd = vbTab Then Exit For

        Next wd

    Next para

End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .