Я попытался создать макрос 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