本文作者:office教程网

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

office教程网 2024-11-12 21:59:34
后台-系统设置-扩展变量-手机广告位-内容正文顶部
摘要:

在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

excel利用VBA创建新的工作簿

如果要用VBA创建新的工作簿,可以使用Add方法,如下面的代码。Excel自动将该工作簿命名为BookN,其中N是下一个可用的数字,同时新工作簿将成为活动工作簿。SubAddOne()Workbooks.AddEndSub另外,

Sub showhide(Optional bHide As Boolean)
Dim cmb As CommandBar
Static col As New Collection
If bHide Then
For Each cmb In Application.CommandBars
If cmb.Type = msoBarTypeMenuBar Or cmb.Type = msoBarTypeNormal Then
If cmb.Visible Then
cmb.Enabled = False
If cmb.Visible Then cmb.Visible = False
col.Add cmb, cmb.Name
End If
End If
Next cmb
Else
If col Is Nothing Or col.Count = 0 Then
For Each cmb In Application.CommandBars
If cmb.Type = msoBarTypeMenuBar Or cmb.Type = msoBarTypeNormal Then
If Not cmb.Visible Or Not cmb.Enabled Then
cmb.Enabled = True
If (Not cmb.Visible) And cmb.Enabled Then cmb.Visible = True
End If
End If
Next cmb
Else
For Each cmb In col
If Not cmb.Visible Or Not cmb.Enabled Then
cmb.Enabled = True
If (Not cmb.Visible) And cmb.Enabled Then cmb.Visible = True
End If
Next cmb
End If
Set col = Nothing
End If
End Sub

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

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

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

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

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

excel利用VBA比较同行字符串一例

如图所示,在Excel工作表的A、B、C、D四列的1-10行都放有字符串,现在要把B、C、D三列中的字符串分别与A列同一行的字符串相比较,如果含有A列字串的某个字符,就把这个字符变成红色(A列不

后台-系统设置-扩展变量-手机广告位-内容正文底部
未经允许不得转载:

作者:office教程网,原文地址:如何利用VBA隐藏Excel2003菜单栏和工具栏发布于2024-11-12 21:59:34
转载或复制请以超链接形式并注明出处 演示站

分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

留言与评论(共有 0 条评论)
   
验证码: