在Excel 2007中使用Excel 2003菜单和工具栏

如果您刚从Excel 2003及以前的版本转到Excel 2007,如果您还不太习惯Excel 2007的Ribbon,如果在Excel 2007中您还想使用Excel 2003的菜单和工具栏,那么andrewe给出了一种方法,使用VBA在Excel 2007中创建Excel 2003的菜单和工具栏,结果如下图所示。

在VBE中输入下面的代码:

Visual Basic:
  1. Option Explicit
  2.  
  3. Private Sub ShowOldStyleMenus()
  4. On Error Resume Next
  5. Dim cBar As CommandBar
  6. Dim cBarCtrl As CommandBarControl
  7. Dim sMenuName As String
  8. Dim sToolbarName As String
  9. Dim iMenu As Integer
  10.  
  11. sMenuName = "Old Style Menu"
  12. sToolbarName = "Old StyleToolbar"
  13.  
  14. CommandBars(sMenuName).Delete
  15.  
  16. Set cBar = CommandBars.Add(sMenuName, , , True)
  17.  
  18. With cBar
  19.  
  20. .Visible = True
  21.  
  22. For iMenu = 1 To 10
  23.  
  24. Set cBarCtrl = .Controls.Add(Type:=msoControlPopup, ID:=30001 + iMenu)
  25.  
  26. Next iMenu
  27.  
  28. Set cBarCtrl = .Controls.Add(Type:=msoControlPopup, ID:=30022) '图表
  29. Set cBarCtrl = .Controls.Add(Type:=msoControlPopup, ID:=30177) '自选图形
  30.  
  31. End With
  32.  
  33. CommandBars(sToolbarName).Delete
  34.  
  35. Set cBar = CommandBars.Add(sToolbarName, , , True)
  36.  
  37. With cBar
  38.  
  39. .Visible = True
  40.  
  41. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=2520) '新建
  42. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=23) '打开
  43. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=3) '保存
  44. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=4) '打印
  45. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=109) '打印预览
  46. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=2) '拼写检查
  47. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=21) '剪切
  48. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=19) '复制
  49. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=22) '粘贴
  50. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=108) '格式刷
  51. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=210) '升序排序
  52. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=211) '降序排序
  53. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=984) '帮助
  54. Set cBarCtrl = .Controls.Add(Type:=msoControlComboBox, ID:=1728) '字体
  55. Set cBarCtrl = .Controls.Add(Type:=msoControlComboBox, ID:=1731) '字号
  56. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=113) '加粗
  57. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=114) '倾斜
  58. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=115) '下划线
  59. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=120) '文本左对齐
  60. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=122) '居中
  61. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=121) '文本右对齐
  62. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=402) '合并及居中
  63. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=395) '会计数字格式
  64. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=396) '百分比样式
  65. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=397) '千位分隔样式
  66. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=398) '增加小数位数
  67. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=399) '减少小数位数
  68. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=3162) '减少缩进量
  69. Set cBarCtrl = .Controls.Add(Type:=msoControlButton, ID:=3161) '增加缩进量
  70.  
  71. End With
  72.  
  73. Set cBar = Nothing
  74. Set cBarCtrl = Nothing
  75.  
  76. On Error GoTo 0
  77. End Sub

注意,运行程序后,单击功能区“加载项”选项卡即可看到添加的菜单和工具栏。


提示:您可以在评论中使用HTML标签,且任何与HTML标签相同的符号都会被理解为HTML标签并以相应的格式显示.如果您的评论中有代码,可以使用相应的标签,例如,如果有VB或VBA代码,则可以使用[vb]标签,即[vb]放置的代码[/vb],这样会很清晰地显示代码.

留下回复