[Excel VBA]關掉 Excel Menu Bar 的方法

Excel 是一個相當好用的工具,提供了相當多的內建函數與巨集可以讓我們做出相當漂亮與豐富的報表。

但對於習慣寫程式或者是需要使用 Excel 來當作程式主體的人來說,這些 Menu Bar 可以說是擾亂程式的元兇。

所以本篇就要介紹,如何關掉 Excel 的 Menu Bar,讓 Excel 看起來乾乾淨淨。

其實只有一個指令,

  1. Application.CommandBars("Worksheet Menu Bar").Enabled=False
這個指令是將主 Menu 關掉的意思,其他的像 ToolBar 等都還會存在。

如果您只想要關掉某些功能呢?

首先您要知道那些功能的名稱是什麼,怎麼知道呢? Google? 可能找到的都是片段,可以透過一段程式將所有的 Menu Bar 名稱 Show 出來,如下面這一小段程式碼
  1. Dim oBar as CommandBar
  2. For Each oBar in Application.CommandBars
  3.   Debug.Print oBar.Name
  4. Next
這樣就可以知道有哪些 Menu Bar 存在於 Excel 中,所以將這些名稱透過 Application.CommandBars 的指令,一一把它關掉即可。

您必須在一開啟 Workbook 時就去下這一段的指令(在 ThisWorkBook當中),如:
  1. Private Sub Workbook_Open()
  2.   Application.CommandBars("Worksheet Menu Bar").Enabled=False
  3. End Sub
將上述的動作寫成了一個 VB Module,提供開關的方式供網友參考。有些功能表的名稱需要對照(或Google)一下,或是測試一下關掉的是哪一個部份。也歡迎網友修正後再分享出來。

原始碼:mdlMenu.bas

張貼留言