設為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

在Excel中利用VBA創(chuàng)建多級選單

2007-12-26 14:03| 發(fā)布者: admin| 查看: 10523| 評論: 2

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
 

http://www0.ccidnet.com/school/office/2001/10/08/image/b1401t01.jpg


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

發(fā)表評論

最新評論

引用 twm5053 2009-6-24 23:07
不錯的構(gòu)思
引用 zuohong2k 2008-5-14 13:35
gaoren

查看全部評論(2)

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2025-7-13 09:08 , Processed in 0.064301 second(s), 16 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回頂部