Изменение стилей по умолчанию в документе Word в отдельной подпрограмме с помощью Excel - PullRequest
0 голосов
/ 19 февраля 2020

В документе Word, контролируемом Excel, я хочу слегка изменить используемые стили по умолчанию. Это работает с использованием следующего кода, когда документ Word уже открыт:

Private Sub basic_syle()
    Dim objWord As Word.Application
    Dim objSelection As Word.selection

    Set objWord = GetObject(, "Word.application")
    Set objSelection = objWord.selection

    adjust_obj_style
End Sub

Sub adjust_obj_style()
    ActiveDocument.Styles("Heading 1").ParagraphFormat.PageBreakBefore = False
End Sub

Однако, если я хочу позволить Excel создать документ Word и настроить стиль, стиль не изменяется.

Dim objWord As Word.Application
Dim objDoc As Word.Document
Dim objSelection As Word.selection

Private Sub basic_syle()
    Set objWord = CreateObject("Word.Application")
    Set objDoc = objWord.Documents.Add
    Set objSelection = objWord.selection

    objWord.Visible = True

    adjust_obj_style
End Sub

Хотя я думаю, что это связано с классом activeDocument, я пока не нашел правильного решения. Активация объекта документа не была решением.

Документация стилей Документация PageBreak

1 Ответ

1 голос
/ 19 февраля 2020

Вам необходимо переопределить подпрограмму:

Sub adjust_obj_style(doc as Object)

, а затем передать этот документ в подпапку:

adjust_obj_style objDoc

и затем использовать эту переменную вместо ActiveDocument следующим образом:

doc.Styles("Heading 1").ParagraphFormat.PageBreakBefore = False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...