资源描述
ActiveX在Excel中的运用
(一)用Excel5.0/95工作簿文件格式保存Excel97工作簿时,将选择ActiveX控件信息。当用户通过双击鼠标来编辑内嵌在其它应用程序文档中的Excel97工作簿时,该工作簿上的控件将不会正常工作。假如用户是通过用右键单击工作簿,然后选中快捷菜单上的“翻开”命令来编辑工作簿的话,工作簿上的控件就能正常工作了。
(二)当ActiveX控件处于激活状态时,将禁用某些MicrosoftExcelVisualBasic方法和属性。
例如,当某一控件激活时,就不能使用Sort方法,故下述按钮单击大事处理过程中的代码将失败(由于用户单击按钮后,该按钮就处于激活状态)。
PrivateSubCommandButton1Click
Range(″a1:a10″)SortKey1:=Range(″a1″)
EndSub
解决方法是通过选激活工作表上其它元素的方法来绕过这种问题。例如,可用以下代码对单元格区域排序:
PrivateSubCommandButton1Click
Range(″a1″)Activate
Range(″a1:a10″)SortKey1:=Range(″a1″)
CommandButton1Activate
End Sub
(三)在MicrosoftExcel中,用OLEObjects集合中的OLEObject对象代表ActiveX控件。
假如要用编程的方式向工作表添加ActiveX控件,可用OLEObjects集合的Add方法。例如向第一张工作表添加命令按钮。
Worksheets(1)OLEObjectsAdd″FormsCommandButton1″,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″)
ObjectCaption=″runme″
由于全部的OLE对象也是Shapes集合的成员,所以也可用该集合设置若干控件的属性。例如要对齐第一张工作表上全部控件的左边框。
ForEachsInWorksheets(1)Shapes
IfsType=msoOLEControlObjectThensLeft=10
Next
考试大提示:当在控件所在工作表的类模块之外使用控件的名称时,必需用工作表的名称限定该控件的名称。在工作表上ActiveX控件的大事处理过程中,Me关键字所指向的是工作表,而非控件。
展开阅读全文