office_tools 版 (精华区)

发信人: redfox (食人族), 信区: OA
标  题: ActiveX 控件在 Excel 中的运用
发信站: 哈工大紫丁香 (2000年06月18日11:47:14 星期天), 站内信件

ActiveX 控件在 Excel 中的运用 
 
  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关键字
所指向的是工作表,而非控件。 



 

--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.227.107]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.515毫秒