- 相關(guān)推薦
VBA在限定Excel工作表用戶按鈕中的應(yīng)用
摘 要 通過研究VBE及其下層對象的訪問方法,本文詳細(xì)地探討了按鈕過程的代碼控制技術(shù),從而實(shí)現(xiàn)了Excel測試軟件中工作表用戶按鈕的執(zhí)行限定。
關(guān)鍵詞 按鈕過程 VBE 下層對象 代碼限定
1 引言
作為一個優(yōu)秀的表格處理軟件和系統(tǒng)開發(fā)平臺,Excel擁有許多無可替代的優(yōu)勢;贓xcel環(huán)境開發(fā)的管理信息系統(tǒng),具有操作直觀性強(qiáng)、開發(fā)周期短的特點(diǎn),因此形成了熟悉Excel操作的廣大用戶。為了保證開發(fā)系統(tǒng)的正常渠道流通及著作者利益,必須保護(hù)系統(tǒng)的使用權(quán)限,本文通過VBA的開發(fā)應(yīng)用,提出了一種Excel工作表用戶按鈕的限定方法,以此來完善其系統(tǒng)測試軟件的功能。
2 限定按鈕執(zhí)行及其對應(yīng)過程代碼
限定工作表用戶按鈕的執(zhí)行包括兩個方面的含義,即限定其按鈕對象的顯示及其指定宏過程代碼的有效性,兩者結(jié)合在一起加以實(shí)現(xiàn),才能起到既展現(xiàn)軟件功能,又真正限制其過分執(zhí)行操作的作用,從而體現(xiàn)對用戶軟件的測試目的。
2.1 查找按鈕執(zhí)行過程代碼
限定按鈕對象及其執(zhí)行代碼,首要的問題便是獲得其對應(yīng)的執(zhí)行代碼過程名,并在當(dāng)前工程的所有代碼模塊中查找其代碼位置。
實(shí)踐表明,按鈕對象與圖形圖像和藝術(shù)字體一樣,都屬于Shape形狀對象,它們都有其對應(yīng)的OnAction屬性,代表其被指定的宏過程代碼名稱。需要指出的是窗體類型按鈕對應(yīng)的宏過程代碼一般位于工程的標(biāo)準(zhǔn)模塊中,而ActiveX按鈕過程代碼則位于工作表代碼模塊中,且其對應(yīng)的正確執(zhí)行過程名為其按鈕名與相應(yīng)的事件名的連接串。為了查找某個按鈕對應(yīng)的過程代碼,需要對VBE(Visual Basic 編輯器)的下層對象VBComponents進(jìn)行搜索。VBComponents對象代表VBE編輯器下的各個代碼模塊VBComponent。通過對某一VBComponent的下一層對象CodeModule的相關(guān)屬性的訪問,可以獲得諸如模塊代碼總行數(shù)等信息,也可以通過其Find方法查找指定內(nèi)容的代碼行。下面即為查找按鈕過程、處理按鈕過程代碼的算法代碼。
SheetsCount = ActiveWorkbook.Worksheets.Count
'對所有工作表中的所有按鈕對象循環(huán)
For i = 1 To SheetsCount
Set MySheet = Worksheets(i)
MySheet.Activate
For Each sh In MySheet.Shapes
sh.Visible = True
sh.Select
'取得選定對象所對應(yīng)的過程名
MyProname = sh.OnAction
'對于ActiveX按鈕,則只取得其onClick事件過程名
If sh.Type = msoOLEControlObject Then
MyProname = sh.Name
【VBA在限定Excel工作表用戶按鈕中的應(yīng)用】相關(guān)文章:
Excel在教學(xué)與管理中的應(yīng)用03-21
淺析Excel數(shù)據(jù)分析在醫(yī)學(xué)統(tǒng)計(jì)中的應(yīng)用03-18
用戶訪問模式挖掘及在電子商務(wù)中的應(yīng)用03-22
淺析Excel函數(shù)在飛機(jī)大修工時收益計(jì)算中的應(yīng)用03-11
土木工程畢業(yè)論文-Excel在水文要素計(jì)算中的應(yīng)用03-05
Excel表格程序在輔助評價醫(yī)院護(hù)理工作滿意度中的應(yīng)用研究03-01
抗生素效價測定中EXCEL表的多碟兼容性03-02