ページの色を変更し、Microsoft Office 全体のダーク モードの背景と同じにするための VBA マクロを作成しようとしました。
私の問題は、新しい文書でマクロを実行すると、最初はページの色が実際には変更されないことです。デザイン>ページの色マクロは確かに私が望む色を切り替えたのですが、ページ自体はそれに応じて変化しません。実際に「確認」するには、手動で押す必要があります。その後、問題なくマクロを通じて色を切り替えたり、切り替えを解除したりできます。何が間違っているのか、何か考えはありますか?
これが私のコードです:
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
コードを追加して、View が背景を表示できるようにする必要があります。
完全なコードは次のようになります。
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