Макрос для переключения цвета страницы в «темном режиме». Какие-то проблемы?

Макрос для переключения цвета страницы в «темном режиме». Какие-то проблемы?

Я попытался создать макрос VBA, чтобы изменить цвет страницы и сделать его таким же, как фон темного режима Microsoft Office.

Моя проблема в том, что когда я запускаю макрос в новом документе, он на самом деле не меняет цвет страницы поначалу.Дизайн>Цвет страницыпоказывает мне, что макрос действительно переключил нужный мне цвет, но сама страница не меняется соответственно. Мне приходится нажимать его вручную, чтобы он действительно «подтвердился». Затем я могу переключать/отключать цвет через свой макрос без проблем. Есть идеи, что не так?

Вот мой код:

Sub DarkMode()
'
' DarkMode Macro
If ActiveDocument.Background.Fill.Visible = msoFalse Then
ActiveDocument.Background.Fill.ForeColor.ObjectThemeColor = _
    wdThemeColorText1
ActiveDocument.Background.Fill.ForeColor.TintAndShade = 0.15
ActiveDocument.Background.Fill.Visible = msoTrue
ActiveDocument.Background.Fill.Solid
Else
ActiveDocument.Background.Fill.Visible = msoFalse
End If

End Sub

решение1

Вам необходимо разрешить View отображать фоны, добавив ActiveDocument.ActiveWindow.View.DisplayBackgrounds = Trueв код.

Полный код будет выглядеть так:

 Sub DarkModeNewPage()

 ActiveDocument.ActiveWindow.View.DisplayBackgrounds = True
 If ActiveDocument.Background.Fill.Visible = msoFalse Then
    ActiveDocument.Background.Fill.ForeColor.ObjectThemeColor = _
       wdThemeColorText1
    ActiveDocument.Background.Fill.ForeColor.TintAndShade = 0.15
    ActiveDocument.Background.Fill.Visible = msoTrue
    ActiveDocument.Background.Fill.Solid
 Else
    ActiveDocument.Background.Fill.Visible = msoFalse
 End If


 End Sub

Связанный контент