程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了正常加载 Excel 应用程序大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决正常加载 Excel 应用程序?

开发过程中遇到正常加载 Excel 应用程序的问题如何解决?下面主要结合日常开发的经验,给出你关于正常加载 Excel 应用程序的解决方法建议,希望对你解决正常加载 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 进入某种状态(全屏、滚动条、显示/隐藏指挥官等),然后再次返回到之前的状态

所以更周到的方法可能是:

  1. PUSH:获取您想要更改的所有内容的状态,并将它们存储在某个位置(例如变量、隐藏的工作表范围或更固定的位置)。
  2. SET:强制您想要更改的所有内容的状态(就像您在原始帖子中所做的那样)。
  3. POP:恢复改变的状态,回到原来的状态

在此阶段,您的代码只有第 2 步。

您还可以虑要触发第 3 步的触发器。是仅在工作簿关闭时,还是在用户将工作簿切换到另一个工作簿时才触发?从你的问题中听起来你可能想要两者。这是可以做到的。

此外,请虑在更改之前检查每个状态。例如,如果您想要显示的工具栏尚未显示,则显示它。这意味着您的行不会不必要地执行以显示已显示的内容、隐藏已隐藏的内容等。

这个 3 步实施可能会让用户(包括未来的你)不那么恼火。

如果您决定采用这种方法,请尝试一下,然后如果您需要具体帮助,请发布您遇到的任何问题。

大佬总结

以上是大佬教程为你收集整理的正常加载 Excel 应用程序全部内容,希望文章能够帮你解决正常加载 Excel 应用程序所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:应用程序