EXCEL 表單控件與ACTIVEX控件的區別

   近期,有同事非要在EXCEL裏實現複選框顯示/隱藏特定數行的功能,在幫助其實現過程當中發現,頗有必要了解表單控件和ACTIVEX控件的區分。設計模式

  首先,要記住一個網址:http://www.excelhome.net/,可能作軟件開發的會以爲這些內容很LOW,確實,我也這樣感受,由於如今有OA,有DB,有ERP,單純的EXCEL應用時代已是歷史了。可是,若是有客戶須要,也仍是要知足的,個人同事也是個人工做客戶。下面是一些區分:編輯器

  表單控件字體

    表單控件是與早期版本的 Excel(從 Excel 5.0 版開始)兼容的原始控件。spa

    適用於:在 XLM 宏工做表中使用。.net

        在不使用 VBA 代碼的狀況下,引用單元格數據並與其進行交互。設計

        向圖表工做表中添加控件。excel

    運行:能夠將現有宏附加到控件,也能夠編寫或錄製新宏。當表單用戶單擊控件時,該控件會運行宏。code

        然而,不能將這些控件添加到用戶表單中,不能使用它們控制事件,也不能修改它們以在網頁中運行 Web 腳本。

  ActiveX 控件orm

    一種控件,向用戶提供選項或運行使任務自動化的宏或腳本。可在 Microsoft Visual Basic for Applications 中編寫控件的宏或在 Microsoft 腳本編輯器中編寫腳本。對象

    適用於:可用於工做表表單(使用或不使用 VBA 代碼)和 VBA 用戶表單。一般,若是相對於表單控件所提供的靈活性,您的設計須要更大的靈活性,則使用

        ActiveX 控件。ActiveX 控件具備大量可用於自定義其外觀、行爲、字體及其餘特性的屬性。用戶與控件進行交互時,VBA 代碼會隨之運行以處理針對

        該控件發生的任何事件。並不是全部 ActiveX 控件均可以直接用於工做表;有些 ActiveX 控件只能用於 Visual Basic for Applications (VBA) (Visual Basic

        for Applications (VBA):Microsoft Visual Basic 的宏語言版本,用於編寫基於 Microsoft Windows 的應用程序,內置於多個 Microsoft 程序中。) 用戶表單

        若是您嘗試向工做表中添加這些特殊 ActiveX 控件中的任何一個控件,Excel 都會顯示消息「不能插入對象」。

        沒法從用戶界面將 ActiveX 控件添加到圖表工做表。

        沒法將其添加到 XLM 宏工做表。

        不能像在表單控件中同樣指定要直接從 ActiveX 控件運行的

  主要區別

      表單控件能夠和單元格關聯,操做控件能夠修改單元格的值,因此用於工做表,而

      ACTIVEX控件雖然屬性強大,可控性強,但不能和單元格關聯,因此用於表單Form。


                    

      
以組合框爲例

      外觀上,他們是不同的,建立完畢後以下圖所示

      

    
  ActiveX 控件  在設計模式下能夠看到屬性(如控件名,CAPTION),而表單控件的屬性窗口和用戶表單看到的是同樣的,沒有控件名之類設計用屬性。

      在代碼方面,表單控件和ActiveX 控件引用的路徑不同。

      

      

    1.   
    2.   Sub 表單控件()
    3.       Sheet1.Shapes("下拉框 1").ControlFormat.ListFillRange = "Sheet1!$F$2:$F$20"
    4.   End Sub
    5.   Sub ActiveX控件()
    6.       Sheet1.ComboBox1.List = [{1,2,3,4,5}]
    7.   End Sub
相關文章
相關標籤/搜索