大佬教程收集整理的这篇文章主要介绍了正常加载 Excel 应用程序,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个工作簿,其中工具栏、滚动条、公式栏、标题等都是通过 vba 代码隐藏的。问题是当我打开一个新工作簿时,所有隐藏的菜单仍然隐藏。如何在关闭或打开带有代码的工作簿时正常加载 excel 应用程序?谢谢!
这是我用来隐藏上面提到的所有菜单的代码。
Sub Removetoolbars()
On Error Resume Next
With Application
.displayFullScreen = True
.Commandbars("Full Screen").Visible = false
.Commandbars("myToolbar").Enabled = True
.Commandbars("myToolbar").Visible = True
.Commandbars("Worksheet Menu bar").Enabled = True
.Commandbars("Formula bar").Visible = false
.windowstate = xlMaximized
End With
On Error GoTo 0
With ActiveWindow
.displayHorizontalScrollbar = false
.displayVerticalScrollbar = True
.displayWorkbookTabs = false
.displayheadings = false
End With
End Sub
通过将此代码放入 ThisWorkbook 模块,尝试在关闭工作簿时反转/重置您正在使用 RemoveToolbars 执行的操作。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
With Application
.DisplayFullScreen = false
.CommandBars("Full Screen").Visible = True
.CommandBars("myToolbar").Enabled = false
.CommandBars("myToolbar").Visible = false
.CommandBars("Worksheet Menu Bar").Enabled = false
.CommandBars("Formula Bar").Visible = True
.WindowState = xlNormal
End With
On Error GoTo 0
With ActiveWindow
.DisplayHorizontalScrollBar = True
.DisplayVerticalScrollBar = false
.DisplayWorkbookTabs = True
.DisplayHeadings = True
End With
End Sub
,
您的原始方法和有关反转它的答案会强制应用程序 UI 进入某种状态(全屏、滚动条、显示/隐藏指挥官等),然后回到与该状态相反的状态。
这可能是也可能不是原来的样子。
更简洁的实现是强制应用程序 UI 进入某种状态(全屏、滚动条、显示/隐藏指挥官等),然后再次返回到之前的状态。
所以更周到的方法可能是:
在此阶段,您的代码只有第 2 步。
您还可以考虑要触发第 3 步的触发器。是仅在工作簿关闭时,还是在用户将工作簿切换到另一个工作簿时才触发?从你的问题中听起来你可能想要两者。这是可以做到的。
此外,请考虑在更改之前检查每个状态。例如,如果您想要显示的工具栏尚未显示,则显示它。这意味着您的行不会不必要地执行以显示已显示的内容、隐藏已隐藏的内容等。
这个 3 步实施可能会让用户(包括未来的你)不那么恼火。
如果您决定采用这种方法,请尝试一下,然后如果您需要具体帮助,请发布您遇到的任何问题。
以上是大佬教程为你收集整理的正常加载 Excel 应用程序全部内容,希望文章能够帮你解决正常加载 Excel 应用程序所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。