利用VBA在EXCLE2010和2007中找回2003式的经典菜单和工具栏

众所周知,从微软的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()
    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) 你会发现,经典菜单和工具栏回来了。

附我自己的效果图一张:

 

转载于:https://my.oschina.net/u/186539/blog/42384

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Office软件是我们日常办公所必须的软件,随着windows系统的不断升级,office软件也更新换代了,虽然现在的office2010及2013界面十分的华丽,不过对于很多用惯了2003的人来说还是很不方便的,很多功能区上的命令都不知道在哪。这款Classic Menu for Office 2010 and 2013可以帮我们将熟悉的Office 2003菜单工具栏显示在Office 2010和2013。 软件介绍: 微软Office 2010/2013的最新特性及命令,都能在这个经典界面找到。2010/2013的功能区选项卡亦全部保留,经典界面和最新的功能区界面,尽在您手。 我们还提供完全免费、没有任何限制的家庭学生版供您使用(详见下面的"对比"), 无需费力地搜寻破解, 远离盗版, 处处安全! 您是否使用过2003/XP/2000微软Office? 如果您曾使用过2003/XP/2000微软Office,将微软Office升级至2010或2013后,您只需使用本软件,就无须任何学习培训或指导,即可享受2010和2013的各项新功能。如果您还不熟悉微软Office2010/2013,请您仔细阅读菜单,保证一学即通。从此减轻您的学习强度, 提高您的工作效率! 轻松在您企业全面部署 在企业客户端部署该软件非常容易,完全不必焦头烂额地寻求任何帮助。 请在此了解如何自动在企业或机构的各客户端部署Office 2010和2013经典菜单。 安装破解方法: 1、下载解压后,运行OfficeMenu2010.exe安装程序! 2、断开网络,或者用防火墙屏蔽软件访问网络的权限! 3、打开你的Office软件,Word或者Excel都可以,要注意,这个是打开Office,而不是刚刚安装的Classic Menu for Office软件! 4、在officetab addin菜单选择注册,用下面的序列号注册程序 姓 名: 序 列 号: (解压后可见)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值