Как добавить интервал перед первой строкой абзаца в VBA? - PullRequest
0 голосов
/ 25 сентября 2019

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

With Wapp
    With .Selection
        .TypeParagraph
        'Add line spacing
        .ParagraphFormat.SpaceBefore = 0
        .ParagraphFormat.SpaceAfter = 0
        .TypeText St1
        .TypeParagraph

        .ParagraphFormat.SpaceBefore = 36
        .BoldRun
        'Centers text
        .ParagraphFormat.Alignment = 1
        .TypeText St2
        .BoldRun
        .ParagraphFormat.SpaceBefore = 0

        .TypeText VBA.vbNewLine
        .TypeText St3
        .TypeText VBA.vbNewLine
        .ParagraphFormat.Alignment = 1
    End With
End With

Ответы [ 2 ]

1 голос
/ 25 сентября 2019

Поменялись местами две строки кода

.TypeText VBA.vbNewLine

и

.ParagraphFormat.SpaceBefore = 0

Кажется, что важно ставить .ParagraphFormat после .TypeParagraph или VBA.vbNewLine, после чего он начал работать как яхотел.

With Wapp
    With .Selection
        .TypeParagraph
        'Add line spacing
        .ParagraphFormat.SpaceBefore = 0
        .ParagraphFormat.SpaceAfter = 0
        .TypeText St1
        .TypeParagraph
        'Starts spacing
        .ParagraphFormat.SpaceBefore = 6
        .BoldRun
        'Centers text
        .ParagraphFormat.Alignment = 1
        .TypeText St2
        .BoldRun
        .TypeText VBA.vbNewLine
        'Ends spacing
        .ParagraphFormat.SpaceBefore = 0
        .TypeText St3
        .TypeText VBA.vbNewLine
        .ParagraphFormat.Alignment = 1
    End With
End With
0 голосов
/ 25 сентября 2019

Вы можете использовать следующую строку для создания отступа первой строки в 1 дюйм (72 точки) для текущего абзаца:

.ParagraphFormat.FirstLineIndent = Application.InchesToPoints(1)
...