我尝试创建一个 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
您需要通过添加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