首页officeexcel正文

如何利用VBA隐藏Excel2003菜单栏和工具栏

强国说学习2023-04-2066如何利用VBA隐藏Excel2003菜单工具栏

在Excel 2003中,有时需要限制用户的操作,例如当用户打开某个指定的工作簿时,Excel 2003菜单栏和工具栏被隐藏起来。而当关闭该工作簿重新打开其他工作簿后,菜单栏和工具栏又恢复正常。用VBA代码可以实现这个目的,步骤如下:

1.打开需要屏蔽菜单栏和工具栏的工作簿,按Alt+F11,打开VBA编辑器。

2.在“工程”窗口中选择“ThisWorkBook”,在右侧的代码窗口中输入下面的代码:

Private Sub Workbook_BeforeClose(Cancel As Boolean)showhide (bHide = True)End Sub

Private Sub Workbook_Open()showhide (bHide = False)End Sub

文章的内容来源于网络,由强国说学习-WPS之家(wps.qiangguoshuo.com)收集,希望能为广大朋友提供帮助。

Sub showhide(Optional bHide As Boolean)Dim cmb As CommandBarStatic col As New CollectionIf bHide ThenFor Each cmb In Application.CommandBarsIf cmb.Type = msoBarTypeMenuBar Or cmb.Type = msoBarTypeNormal ThenIf cmb.Visible Thencmb.Enabled = FalseIf cmb.Visible Then cmb.Visible = Falsecol.Add cmb, cmb.NameEnd IfEnd IfNext cmbElseIf col Is Nothing Or col.Count = 0 ThenFor Each cmb In Application.CommandBarsIf cmb.Type = msoBarTypeMenuBar Or cmb.Type = msoBarTypeNormal ThenIf Not cmb.Visible Or Not cmb.Enabled Thencmb.Enabled = TrueIf (Not cmb.Visible) And cmb.Enabled Then cmb.Visible = TrueEnd IfEnd IfNext cmbElseFor Each cmb In colIf Not cmb.Visible Or Not cmb.Enabled Thencmb.Enabled = TrueIf (Not cmb.Visible) And cmb.Enabled Then cmb.Visible = TrueEnd IfNext cmbEnd IfSet col = NothingEnd IfEnd Sub

3.在退出该工作簿前,先要让菜单栏和工具栏隐藏起来,方法是:鼠标在代码

Private Sub Workbook_Open()showhide (bHide = False)End Sub

中间单击一下,让光标停留在这段代码中间,然后按F5键运行该段代码,这时Excel中的菜单栏和工具栏都将被隐藏。

说明:这一步十分重要,不能省略,如果保存工作簿后不运行该段代码而直接退出,下次打开Excel时,Excel中的所有工具栏都将会显示在界面中。万一出现这种情况,可以用下面的方法让Exce恢复默认的工具栏设置。在Windows XP中,删除“C:\Documents and Settings\用户名\Application Data\Microsoft\Excel”文件夹中的“Excel11.xlb”文件,而在Windows Vista中,该文件在“C:\用户\用户名\AppData\Roaming\Microsoft\Excel”文件夹中。“Excel11.xlb”文件中保存了Excel 2003自定义菜单栏和工具栏设置,删除该文件后Excel将自动恢复默认的菜单栏和工具栏。

这样,当我们打开该工作簿时,菜单栏和工具栏将被隐藏,从而可以限制用户的操作。而退出Excel 2003重新打开别的工作簿后,Excel 2003菜单栏和工具栏会照常显示。

如想转载该文章请注明出处:强国说学习-qiangguoshuo.com
强国说学习

转载声明:本站发布文章及版权归原作者所有,转载本站文章请注明文章来源!

本文链接:https://www.qiangguoshuo.com/excel/70279.html