利用VBA在EXCLE2010和2007中找回2003式的经典菜单和工具栏
时 间:2017-08-06 09:32:40
作 者:缪炜 ID:24010 城市:江阴
摘 要:众所周知,从微软的Office 12(也就是我们所说的Office 2007)开始,软件界面采用了Ribbon界面,又叫做功能区。Office 14((也就是我们所说的Office 2010)同样采用此种界面。对我个人而言,我非常喜欢这种全新的界面,不喜欢Office11((也就是我们所说的Office 2003)的那种菜单工具栏界面。
但是,也有很多人用不惯这种新的界面,有人问我,有办法找回原来的那种界面吗。
正 文:
答案当然是肯定的。网上也有这种找回菜单栏和工具栏的软件,有一个叫Classic Menu for Office,还有一个叫Addintools.
但是,对我来说,我不敢用这种软件,因为不知道他们是怎么乱搞的,用着不放心。
所以,我利用自己强大的VBA知识(VBA是Office软件内置的一门编程语言,Office软件也是支持编程控制的,这一点很多人怕是不知道吧),自已编程创造出经典的菜单栏和工具栏。
1.首先,我们打开EXCLE 2010(或者2007),然后,按下Alt+F11快捷键就可以呼出EXCLE的VBA界面(有些人用的什么精简版,没有VBA,那你就呼不出来了)。
2.我们在呼出的VBA界面中,选择"插入"菜单下的"模块",就产生了一个新模块,我们在新模块中输入以下代码:
Sub auto_open() ShowOldStyleMenus End Sub Private Sub ShowOldStyleMenus() On Error Resume Next Dim cBar As CommandBar Dim cBarCtrl As CommandBarControl Dim sMenuName As String Dim sToolbarName As String Dim iMenu As Integer sMenuName = "Old Style Menu" sToolbarName = "Old StyleToolbar" CommandBars(sMenuName).Delete '如果之前有同名菜单栏,删除之 Set cBar = CommandBars.Add(sMenuName, , , True) '添加命令栏,名字为sMenuName,是一个临时菜单栏,即常用菜单项 '参考:Set newMbar = CommandBars.Add _(Name:="newMenubar", Position:=msoBarRight, _MenuBar:=True, temporary:=True) With cBar .Visible = True '临时菜单栏可见 For iMenu = 1 To 10 Set cBarCtrl = .Controls.Add(Type:=msoControlPopup, ID:=30001 + iMenu) '依次添加2003版的弹出是菜单 Next iMenu Set cBarCtrl = .Controls.Add(Type:=msoControlPopup, ID:=30022) '图表菜单 Set cBarCtrl = .Controls.Add(Type:=msoControlPopup, ID:=30177) '自选图形 End With CommandBars(sToolbarName).Delete '如果之前有同名工具栏,删除之 Set cBar = CommandBars.Add(sToolbarName, , , True) '设置变量 With cBar .Visible = True Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=2520) 'New Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=23) 'Open Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=3) 'Save Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=4) 'Print Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=109) 'Print Preview Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=2) 'Spelling Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=21) 'Cut Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=19) 'Copy Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=22) 'Paste Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=108) 'Format Painter Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=210) 'Sort Ascending Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=211) 'Sort Descending Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=984) 'Help Set cBarCtrl = .Controls.Add(Type:=msoControlComboBox, ID:=1728) 'Font Set cBarCtrl = .Controls.Add(Type:=msoControlComboBox, ID:=1731) 'Font Size Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=113) 'Bold Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=114) 'Italic Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=115) 'Underline Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=120) 'Align Left Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=122) 'Center Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=121) 'Align Right Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=402) 'Merge and Center Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=395) 'Accounting Number Format Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=396) 'Percent Style Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=397) 'Comma Style Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=398) 'Increase Decimal Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=399) 'Decrease Decimal Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=3162) 'Decrease Indent Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=3161) 'Increase Indent End With '依次设置常用的命令 Set cBar = Nothing '清除变量 Set cBarCtrl = Nothing On Error GoTo 0 End Sub
3.然后,我们在VBA界面中点击保存,再关闭VBA界面,就回到了EXCLE界面。
4.我们将这个EXCLE文件另存为 经典菜单和工具栏.xlsm (一定要存成xlsm,xls或xlsx格式都是不行的),然后关闭EXCLE软件。
5.我们将得到的 经典菜单和工具栏.xlsm 这个文件放到EXCLE的启动目录里去,具体目录为:
2007版: C:\Program Files\Microsoft Office\Office12\XLSTART
2010版: C:\Program Files\Microsoft Office\Office14\XLSTART
当然,前面的C:\Program Files\Microsoft Office要视你具体的Office安装目录而定。
6.好了,再次打开EXCLE 2010(或者2007) 你会发现,经典菜单和工具栏回来了。
附我自己的效果图一张:
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access判断多条明细的配方或订...(11.30)
- 如何让后台数据库在局域网共享时,且...(11.29)
- 【Access月初月末日期设置方法...(11.29)
- 【Access IIF函数嵌套示例...(11.26)
- Access快速开发平台--使用组...(11.25)
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)