本文介紹excel【ActiveX控件】相關的一些知識點。Excel控件是放置于窗體上的一些圖形對象,可用來顯示或輸入數據、執行操作或使窗體更易于閱讀。這些對象包括文本框、列表框、選項按鈕、命令按鈕及其他一些對象。控件提供給用戶一些可供選擇的選項,或是某些按鈕,單擊后可運行宏程序。
第一,excel控件之ActiveX控件
ActiveX控件,比窗體工具條中的控件要更靈活,是VBE中用戶窗體控件的子集,在Excel工作表中和VBE編輯器中都是可用的,尤其在要對使用控件時發生的不同事件進行控制時。我們能捕獲這些控件的事件,這也是其靈活的主要原因。這些事件可能是單擊、雙擊、變化(例如對組合框控件項目進行新的選擇),用戶能離開這個控件并轉移焦點到另一個控件或返回到Excel界面,等等。
ActiveX控件也有一個長的屬性列表,如字體(Font)、標題(Caption)、名稱(Name)、單元格鏈接(LinkedCell)、高度(Height),等等。這些屬性取決于控件的類型,但所有控件都有諸如名稱(Name)屬性和一些其它的屬性。
ActiveX控件也具有可自定義的屬性。例如,可指定當用戶指向控件時指針的外觀。您可編寫宏,響應與ActiveX控件相關的事件。可在Excel窗體上和VBA程序窗體和對話框中使用ActiveX控件。
在使用控件時,如果不使用帶有控件事件的VBA代碼,則很少使用ActiveX控件;如果您不熟悉VBA,您應該選擇使用窗體工具條控件。ActiveX控件與在VisualBasic編程語言中使用的控件相類似,是可以添加到VisualBasic編輯器自定義窗體中的控件。將ActiveX控件添加到工作表中時,您應編寫引用控件標識號的宏代碼,而不是分配在單擊控件時要運行的宏。當窗體的用戶使用控件時,將運行您編寫的宏代碼來處理發生的任何事件。當添加一個ActiveX控件到工作表中時,它被內嵌入工作表成為工作表的一個對象成員,并自動處于“設計模式”,允許我們對控件進行處理而不會引發控件事件。為了能捕獲控件的任何事件,該事件程序應放置在工作表對象的模塊中,您能(在處于設計模式時)通過在控件上雙擊進入代碼模塊,并顯示出該控件的缺省過程。為了指定您想要的事件過程,您也可以在代碼模塊編輯器右上方的事件過程下拉列表中選擇相應的事件過程。
但是,不可在圖表工作表或XLM宏工作表中使用控件。對于這些情況,您應使用“窗體”工具欄上的控件。如果要從控件直接運行附加的宏,最好也應使用“窗體”工具欄控件。
對于要放到網頁上的Excel窗體和數據,可包含ActiveX控件,并可編寫在Web瀏覽器中使用控件時要運行的Web腳本(而不是宏代碼)。還可通過使用Microsoft腳本編輯器編寫VBScript或JavaScript形式的腳本。
第二,如何識別excel控件屬于哪類控件
要確定控件類型,可以右鍵單擊該控件,會顯示快捷菜單:
(1)如果快捷菜單包含“屬性”命令,則該控件為“控件工具箱”中的ActiveX控件,且您處于“設計”模式。
(2)如果快捷菜單包含“指定宏”命令,則該控件為“窗體”工具欄控件。
(3)如果快捷菜單包含“編輯文字”命令,則該對象為“繪圖”工具欄對象。
如果右鍵單擊控件以顯示快捷菜單時卻沒有響應,則該控件是ActiveX控件且您不在“設計”模式下。若要顯示ActiveX控件的快捷菜單以編輯屬性或查看宏代碼,則必須處于設計模式。