当运行下面的代码时,屏幕闪烁得非常糟糕。这似乎只发生在Office 2016中。在Office 2010和Mac上使用Office 2016,根本没有闪烁。谁能指导我?
我已经尝试了很多变化,但似乎没有任何东西摆脱闪烁。我甚至把这个调用包裹起来,更新了虚假和真实,但没有运气。
Public Sub applyLogosToDashboard()
Application.ScreenUpdating = False
If Not Application.OperatingSystem Like "*Mac*" Then
Sheets("Dashboard").Activate
Sheets("Dashboard").Unprotect Password:=Sheets("Logos").Range("IV1")
ActiveSheet.Shapes("Apple_Logo").Visible = False
ActiveSheet.Shapes("Win_Logo").Visible = True
ActiveSheet.Shapes("Button_Insert_Logo").Visible = True
ActiveSheet.Shapes("Button_Print_PDF").Visible = True
ActiveSheet.Shapes("Button_Save_As").Visible = True
ActiveSheet.Shapes("Button_Help").Visible = True
ActiveSheet.Shapes("Button_Versions").Visible = True
Sheets("Logos").Protect Password:=Sheets("Dashboard").Range("IV1"), DrawingObjects:=True, Contents:=True, Scenarios:=True
Else
Sheets("Dashboard").Activate
Sheets("Dashboard").Unprotect Password:=Sheets("Dashboard").Range("IV1")
ActiveSheet.Shapes("Apple_Logo").Visible = True
ActiveSheet.Shapes("Win_Logo").Visible = False
ActiveSheet.Shapes("Button_Insert_Logo").Visible = False
ActiveSheet.Shapes("Button_Print_PDF").Visible = False
ActiveSheet.Shapes("Button_Save_As").Visible = False
Sheets("Dashboard").Protect Password:=Sheets("Dashboard").Range("IV1"), DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
Application.ScreenUpdating = True
End Sub
重要的是要注意,例程是由我的主页上的按钮执行的。在打开之后的第一次执行期间发生闪烁。如果我在没有关闭的情况下点击按钮,则没有闪烁。
答案 0 :(得分:0)
我在办公室2016遇到类似的屏幕问题问题我通过禁用硬件加速解决了这个问题:
要禁用硬件加速,请按以下步骤操作: 启动任何Office程序。 上
这是来自MSDN:
https://support.microsoft.com/en-gb/help/2768648/display-issues-in-office-client-applications
答案 1 :(得分:0)
我已经解决了问题,我将函数移动到启动它的sub的末尾。它现在是End Sub之前执行的最后一个函数。根本不再有任何闪烁。