Excel是我們常用的報表處理軟件之一,對于大多數(shù)人來說只是使用它進行打印報表,沒有注意其他功能,其實利用Excel內(nèi)嵌的 VBA 語言完全可以快速開發(fā)出自己企業(yè)的應用系統(tǒng)來,而且應用系統(tǒng)界面與其它專業(yè)編程語言相當相似。下面筆者簡單通過一個實例說明如何利用VBA創(chuàng)建多級選單。
首先,我們對Excel中兩個重要的內(nèi)置函數(shù)auto_open() 和 auto_close()作一簡單說明。
auto_open() :在打開工作簿時系統(tǒng)將自動執(zhí)行該函數(shù),因此我們可以在該函數(shù)中調(diào)用自己應用程序的選單函數(shù)以及其它需要初始化設置的函數(shù)及宏語句;
auto_close():在關(guān)閉工作簿時系統(tǒng)將自動執(zhí)行該函數(shù)。所以我們需要在該函數(shù)中放置刪除用戶自定義選單語句,否則只有退出Excel才能恢復EXCEL的系統(tǒng)選單。
在以下語句中,我們定義了選單設置函數(shù) OpenMyMenu(),用于設置多級選單,其他有關(guān)說明見程序內(nèi)注釋,詳細代碼如下:
Sub OpenMyMenu() ′自定義多級選單函數(shù)
On Error Resume Next ′忽略錯誤
MenuBars("MyMenu").Delete ′刪除自定義選單
MenuBars.Add ("MyMenu") ′自定義選單項
Sheets("sheet1").Select
MenuBars("MyMenu").Menus.Add Caption:="金融"
′增加第一個選單項“金融”
′以下三句為在“金融”選單下增加“銀行法、貨幣政策和條例”三項選單項
MenuBars("MyMenu").Menus("金融").MenuItems.Add Caption:="銀行法", OnAction:="銀行法"
MenuBars("MyMenu").Menus("金融").MenuItems.Add Caption:="貨幣政策", OnAction:="貨幣政策"
MenuBars("MyMenu").Menus("金融").MenuItems.Add Caption:="條例", OnAction:="條例"
′以下為創(chuàng)建如圖所示的多級選單
MenuBars("MyMenu").Menus.Add Caption:="經(jīng)濟" '建立選單項“經(jīng)濟”
′以下三句為在“經(jīng)濟”選單下增加“農(nóng)業(yè)、工業(yè)和第三產(chǎn)業(yè)”三項選單項
MenuBars("MyMenu").Menus("經(jīng)濟").MenuItems.Add Caption:="農(nóng)業(yè)", OnAction:="農(nóng)業(yè)"
MenuBars("MyMenu").Menus("經(jīng)濟").MenuItems.Add Caption:="工業(yè)", OnAction:="工業(yè)"
MenuBars("MyMenu").Menus("經(jīng)濟").MenuItems.AddMenu Caption:="第三產(chǎn)業(yè)"
′以下三句為在“第三產(chǎn)業(yè)”選單下增加“概況、范疇”二項選單項和“飲食服務業(yè)”子選單
MenuBars("MyMenu").Menus("經(jīng)濟").MenuItems("第三產(chǎn)業(yè)").MenuItems.Add Caption:="概況", OnAction:="概況"
MenuBars("MyMenu").Menus("經(jīng)濟").MenuItems("第三產(chǎn)業(yè)").MenuItems.Add Caption:="范疇", OnAction:="范疇"
MenuBars("MyMenu").Menus("經(jīng)濟").MenuItems("第三產(chǎn)業(yè)").MenuItems.AddMenu Caption:="飲食服務業(yè)"
′以下二句為在“飲食服務業(yè)”選單下增加“酒店1、酒店2”二項選單項
MenuBars("MyMenu").Menus("經(jīng)濟").MenuItems("第三產(chǎn)業(yè)").MenuItems("飲食服務業(yè)").MenuItems.Add Caption:="酒店1", OnAction:="酒店1"
MenuBars("MyMenu").Menus("經(jīng)濟").MenuItems("第三產(chǎn)業(yè)").MenuItems("飲食服務業(yè)").MenuItems.Add Caption:="酒店2", OnAction:="酒店2"
MenuBars("MyMenu").Activate ′激活自定義選單
End Sub
Sub auto_open() ′系統(tǒng)自動打開運行宏
OpenMyMenu ′調(diào)用用戶選單函數(shù)
End Sub
Sub auto_close() ′系統(tǒng)自動關(guān)閉運行宏
On Error Resume Next ′忽略錯誤
MenuBars("MyMenu").Delete ′刪除自定義選單
End Sub

讀者可以在自己的工作簿選單“工具”中的“宏”下,創(chuàng)建以上三個函數(shù)并將以上函數(shù)語句拷貝到其中即可運行,效果如圖所示
| |