Перебирая абзацы в Word - VBA - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь исправить пустые абзацы моего текстового документа с помощью VBA. Проблема в том, что у меня есть страницы с абзацами, у которых есть font.size = 11. Мне нужно изменить эти абзацы на font.size = 10. Поэтому мне нужно, чтобы al oop, который начинается с начала документа, повторяется через абзацы и поиски Если абзац пустой И font.size = 11, то Font.Size 10.

Я продолжаю получать ошибки и не совсем уверен, что я пытаюсь сделать правильную вещь. Любая помощь?

With Selection
Dim Paragraph As Word.Paragraph
For Each Paragraph In ActiveDocument.Paragraphs
If Paragraph.Range.Count = 1 And Font.Size = 11 Then
Paragraph.Font.Size = 10
Next Paragraph
End With

1 Ответ

0 голосов
/ 29 марта 2020

Существует несколько причин, по которым ваш код не работает.

With Selection
   ...
End With

Это утверждение не используется, и у вас нет причин его здесь иметь. With операторы всегда go вместе с выражениями, начинающимися с ..

Для оператора If .. Then требуется End If, поскольку вы не делаете все это в одной строке.

Свойство Font напрямую не связано с Paragraph. Также есть объект Range.

Соберите все вместе:

Dim Paragraph As Word.Paragraph
For Each Paragraph In ActiveDocument.Paragraphs
    If Len(Paragraph.Range.Text) <= 1 And Paragraph.Range.Font.Size = 11 Then
        Paragraph.Range.Font.Size = 10
    End If
Next Paragraph
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...