【问题标题】:How do I hide the formulabar and statusbar in one specific workbook without affecting all other opened workbooks using VBA?如何在一个特定工作簿中隐藏公式栏和状态栏而不影响所有其他使用 VBA 打开的工作簿?
【发布时间】:2022-08-16 00:10:03
【问题描述】:

正如标题所说;如何使用 VBA 在 Excel 中的一个工作簿/工作表中隐藏公式栏和状态栏,而不影响所有其他打开的工作簿/工作表?

我在工作表中插入了两个按钮。一个显示“全屏”的按钮隐藏公式栏、状态栏、标题、滚动条等,一个按钮显示“窗口屏幕”,显示前面提到的元素。

我的问题是,当我单击“全屏”按钮并隐藏元素时,我隐藏了 Excel 中所有打开的工作簿/工作表中的元素,这是我不想要的。我只希望将元素隐藏在名为 \"Dashboard\" 的特定工作表中。

目前,我正在使用此代码:

Sub HideAll()    
    ActiveWindow.DisplayHorizontalScrollBar = False    
    ActiveWindow.DisplayVerticalScrollBar = False    
    ActiveWindow.DisplayHeadings = False    
    ActiveWindow.DisplayWorkbookTabs = False    
    Application.DisplayStatusBar = False    
    Application.DisplayFormulaBar = False    
    Application.ExecuteExcel4Macro \"show.toolbar(\"\"Ribbon\"\",False)\"    
End Sub
      
Sub ShowAll()    
    ActiveWindow.DisplayHorizontalScrollBar = True    
    ActiveWindow.DisplayVerticalScrollBar = True    
    ActiveWindow.DisplayHeadings = True    
    ActiveWindow.DisplayWorkbookTabs = True    
    Application.DisplayStatusBar = True    
    Application.DisplayFormulaBar = True    
    Application.ExecuteExcel4Macro \"show.toolbar(\"\"Ribbon\"\",True)\"    
End Sub

    标签: excel vba


    【解决方案1】:

    简单的回答,你不能。

    正如您在代码Application.DisplayStatusBar 上看到的那样,状态栏和编辑栏是应用程序的对象,而不是窗口或工作表的对象。

    因此,如果您隐藏它们,则隐藏在整个应用程序中。

    作为一种解决方法,您可以打开第二个 Excel 实例,然后该实例有自己的应用程序,您可以在其中隐藏它们。请注意,这可能会带来其他缺点,因为 2 个 Excel 实例不会“看到”彼此。因此,如果您尝试在它们之间进行交互,则可能会更加困难。

    另一种解决方法可能是在您的工作簿被激活时隐藏它们,并在您的工作簿被停用时显示它们。但它们仍然隐藏在整个应用程序中。

    【讨论】:

      【解决方案2】:

      为什么它不起作用?

      某些代码 (ActiveWindow) 适用于特定文件,例如,如下所示:

      ThisWorkbook.Windows(1).DisplayHeadings = False
      

      不幸的是,不适用于“应用程序”代码。 在那里它可以通过 IF/ELSE 工作:

      Private Sub Workbook_SheetActivate(ByVal Sh As Object)
      
      If Sh.Name = "Sheet1" Then
           Application.DisplayFormulaBar = False
      Else
           Application.DisplayFormulaBar = True
      End If
      
      End Sub
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-17
        • 2021-11-18
        • 1970-01-01
        相关资源
        最近更新 更多