ActiveX在Excel中的運用
時間:2005-02-11 11:52 來源:未知 作者:未知 閱讀:次
Excel97在工作表或圖表上可使用ActiveX控件,根據(jù)我使用的體會,在工作上處理控件時,必須注意和了解如下事項:
(一)用Excel5.0/95工作簿文件格式保存Excel97工作簿時,將選擇ActiveX控件信息。當(dāng)用戶通過雙擊鼠標(biāo)來編輯內(nèi)嵌在其它應(yīng)用程序文檔中的Excel97工作簿時,該工作簿上的控件將不會正常工作。如果用戶是通過用右鍵單擊工作簿,然后選中快捷菜單上的“打開”命令來編輯工作簿的話,工作簿上的控件就能正常工作了。
(二)當(dāng)ActiveX控件處于激活狀態(tài)時,將禁用某些MicrosoftExcelVisualBasic方法和屬性。
例如,當(dāng)某一控件激活時,就不能使用Sort方法,故下述按鈕單擊事件處理過程中的代碼將失敗(因為用戶單擊按鈕后,該按鈕就處于激活狀態(tài))。
PrivateSubCommandButton1Click
Range(″a1:a10″)SortKey1:=Range(″a1″)
EndSub
解決辦法是通過選激活工作表上其它元素的方法來繞過這種問題。例如,可用下列代碼對單元格區(qū)域排序:
PrivateSubCommandButton1Click
Range(″a1″)Activate
Range(″a1:a10″)SortKey1:=Range(″a1″)
CommandButton1Activate
End Sub
(三)在MicrosoftExcel中,用OLEObjects集合中的OLEObject對象代表ActiveX控件。
如果要用編程的方式向工作表添加ActiveX控件,可用OLEObjects集合的Add方法。例如向第一張工作表添加命令按鈕。
Worksheets(1)O(jiān)LEObjectsAdd″FormsCommandButton1″,_
Left:=10,Top:=10,Height:=20,Width:=100
因為ActiveX控件也可用OLEObjects集合中的OLEObject對象代表,所以也可用該集合中的對象來設(shè)置控件的屬性。例如要設(shè)置控件“CommandBotton1”的“左邊位置”屬性。
Worksheets(1)O(jiān)LEObjects(″CommandButton1″)Left=10
那些不屬于OLEObject對象屬性的控件屬性,可通過由Object屬性返回的實際控件對象來設(shè)置。例如要設(shè)置控件“CommandButton1”的標(biāo)題。
Worksheets(1)O(jiān)LEObjects(″CommandButton1″)
ObjectCaption=″runme″
因為所有的OLE對象也是Shapes集合的成員,所以也可用該集合設(shè)置若干控件的屬性。例如要對齊第一張工作表上所有控件的左邊框。
ForEachsInWorksheets(1)Shapes
IfsType=msoOLEControlObjectThensLeft=10
Next
請注意,當(dāng)在控件所在工作表的類模塊之外使用控件的名稱時,必須用工作表的名稱限定該控件的名稱。在工作表上ActiveX控件的事件處理過程中,Me關(guān)鍵字所指向的是工作表,而非控件。
(一)用Excel5.0/95工作簿文件格式保存Excel97工作簿時,將選擇ActiveX控件信息。當(dāng)用戶通過雙擊鼠標(biāo)來編輯內(nèi)嵌在其它應(yīng)用程序文檔中的Excel97工作簿時,該工作簿上的控件將不會正常工作。如果用戶是通過用右鍵單擊工作簿,然后選中快捷菜單上的“打開”命令來編輯工作簿的話,工作簿上的控件就能正常工作了。
(二)當(dāng)ActiveX控件處于激活狀態(tài)時,將禁用某些MicrosoftExcelVisualBasic方法和屬性。
例如,當(dāng)某一控件激活時,就不能使用Sort方法,故下述按鈕單擊事件處理過程中的代碼將失敗(因為用戶單擊按鈕后,該按鈕就處于激活狀態(tài))。
PrivateSubCommandButton1Click
Range(″a1:a10″)SortKey1:=Range(″a1″)
EndSub
解決辦法是通過選激活工作表上其它元素的方法來繞過這種問題。例如,可用下列代碼對單元格區(qū)域排序:
PrivateSubCommandButton1Click
Range(″a1″)Activate
Range(″a1:a10″)SortKey1:=Range(″a1″)
CommandButton1Activate
End Sub
(三)在MicrosoftExcel中,用OLEObjects集合中的OLEObject對象代表ActiveX控件。
如果要用編程的方式向工作表添加ActiveX控件,可用OLEObjects集合的Add方法。例如向第一張工作表添加命令按鈕。
Worksheets(1)O(jiān)LEObjectsAdd″FormsCommandButton1″,_
Left:=10,Top:=10,Height:=20,Width:=100
因為ActiveX控件也可用OLEObjects集合中的OLEObject對象代表,所以也可用該集合中的對象來設(shè)置控件的屬性。例如要設(shè)置控件“CommandBotton1”的“左邊位置”屬性。
Worksheets(1)O(jiān)LEObjects(″CommandButton1″)Left=10
那些不屬于OLEObject對象屬性的控件屬性,可通過由Object屬性返回的實際控件對象來設(shè)置。例如要設(shè)置控件“CommandButton1”的標(biāo)題。
Worksheets(1)O(jiān)LEObjects(″CommandButton1″)
ObjectCaption=″runme″
因為所有的OLE對象也是Shapes集合的成員,所以也可用該集合設(shè)置若干控件的屬性。例如要對齊第一張工作表上所有控件的左邊框。
ForEachsInWorksheets(1)Shapes
IfsType=msoOLEControlObjectThensLeft=10
Next
請注意,當(dāng)在控件所在工作表的類模塊之外使用控件的名稱時,必須用工作表的名稱限定該控件的名稱。在工作表上ActiveX控件的事件處理過程中,Me關(guān)鍵字所指向的是工作表,而非控件。
(責(zé)任編輯:admin)
頂一下
(0)
0%
踩一下
(0)
0%
相關(guān)內(nèi)容
- ·Excel VBA編輯語句集300條
- ·【技巧】excel文件破解密碼
- ·【Excel VBA】FileDialog 用法之 打開
- ·VBA修改ACCESS及EXCEL安全設(shè)置(源碼)
- ·實用的GET函數(shù)
- ·日期改為顯示星期幾的自定義涵數(shù)
- ·VBA在Excel 2000中的應(yīng)用一例
- ·ActiveX在Excel中的運用
- ·檢查重復(fù)字段值的方法
- ·Excel中 BASIC 程序的運行
- ·Excel XP中圖片的智能刷新
- ·Excel成績分析處理程序
- ·創(chuàng)建自己的EXCEL函數(shù)
- ·用Excel制作公交向?qū)?/a>
- ·使用ADO獲取外部數(shù)據(jù)
- ·Excel中如何編程判斷字符顏色
最新內(nèi)容