众所周知,从微软的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界面中,选择"插入"菜单下的"模块",就产生了一个新模块,我们在新模块中输入以下代码:
'- =========================================================='* 文件名 :TYSoftExcel_14and12_like11.bas'* 开发人员:袁培荣'* 当前版本:1.0.2.2595'* 创建时间:2012-02-25'* 修改时间:2012-02-25'* 功能说明:利用VBA在EXCLE2010和2007中找回2003式的经典菜单和工具栏'* 版权说明:版权所有 袁培荣 YuanPeirong '* 编译环境:Windows 7(x64) SP1 简体中文专业版'* VBA版本: 7.0.1590'- ==========================================================*/Sub auto_open() ShowOldStyleMenusEnd SubPrivate 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 0End 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) 你会发现,经典菜单和工具栏回来了。
附我自己的效果图一张: