ActiveX 控件在 Excel 中的运用

王朝学院·作者佚名  2009-10-04  
宽屏版  字体: |||超大  

Excel97在工作表或图表上可使用ActiveX控件,根据我使用的体会,在工作上

处理控件时,必须注意和了解如下事项:

(一)用Excel5.0/95工作簿文件格式保存Excel97工作簿时,将选择ActiveX控

件信息。当用户通过双击鼠标来编辑内嵌在其它应用程序文档中的Excel97工作簿

时,该工作簿上的控件将不会正常工作。如果用户是通过用右键单击工作簿,然后

选中快捷菜单上的“打开”命令来编辑工作簿的话,工作簿上的控件就能正常工作

了。

(二)当ActiveX控件处于激活状态时,将禁用某些

MicrosoftExcelVisualBasic方法和属性。

例如,当某一控件激活时,就不能使用Sort方法,故下述按钮单击事件处理过

程中的代码将失败(因为用户单击按钮后,该按钮就处于激活状态)。

PrivateSubCommandButton1 Click

Range(″a1:a10″) SortKey1:=Range(″a1″)

EndSub

解决办法是通过选激活工作表上其它元素的方法来绕过这种问题。例如,可用

下列代码对单元格区域排序:

PrivateSubCommandButton1 Click

Range(″a1″) Activate

Range(″a1:a10″) SortKey1:=Range(″a1″)

CommandButton1 Activate

End Sub

(三)在MicrosoftExcel中,用OLEObjects集合中的OLEObject对象代表

ActiveX控件。

如果要用编程的方式向工作表添加ActiveX控件,可用OLEObjects集合的Add方

法。例如向第一张工作表添加命令按钮。

Worksheets(1) OLEObjects Add″Forms CommandButton 1″,_

Left:=10,Top:=10,Height:=20,Width:=100

因为ActiveX控件也可用OLEObjects集合中的OLEObject对象代表,所以也可用

该集合中的对象来设置控件的属性。例如要设置控件“CommandBotton1”的“左边

位置”属性。

Worksheets(1) OLEObjects(″CommandButton1″) Left=10

那些不属于OLEObject对象属性的控件属性,可通过由Object属性返回的实际

控件对象来设置。例如要设置控件“CommandButton1”的标题。

Worksheets(1) OLEObjects(″CommandButton1″)

Object Caption=″runme″

因为所有的OLE对象也是Shapes集合的成员,所以也可用该集合设置若干控件

的属性。例如要对齐第一张工作表上所有控件的左边框。

ForEachsInWorksheets(1) Shapes

Ifs Type=msoOLEControlObjectThens Left=10

Next

请注意,当在控件所在工作表的类模块之外使用控件的名称时,必须用工作表

的名称限定该控件的名称。在工作表上ActiveX控件的事件处理过程中,Me关键字

所指向的是工作表,而非控件。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有