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