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