存档

文章标签 ‘控件’

去除Flash控件中的自定义右键菜单

2010年7月20日

一个小小的功能,做一个记号。
Excel中使用Shockwave Flash控件插入Flash文件时,有时Flash文件会带有一些自定义的右键菜单,如下图:
Flash with menu

如果不想在Excel中显示这些菜单,可以通过修改下面的设置来取消。单击菜单“视图”-》“工具栏”-》“控件工具箱”,打开“控件工具箱”窗口,单击“设计模式”,选择Flash控件,再单击“属性”,弹出“属性”窗口。在属性FlashVars中输入menu=false,回车即可。如下图:
Flash Properties Flashvars

退出设计模式,原来的右键菜单已经被取消,剩下系统菜单。不过这个属性的修改不能保存,下次重新打开文件的时候仍然会出现自定义菜单。
Flash without Menu

如果只想保留“Setting…”和“About”菜单,则可以设置Flash控件的Menu属性为Flash。
Flash Properties Menu

Spreadsheet , , ,

Excel中的窗体控件和ActiveX控件

2009年1月21日

Excel中有两种不同的控件。一种是窗体工具条控件(Forms toolbar controls),通过点击菜单“视图”->“工具栏”,在弹出菜单上选择“窗体”,将出现“窗体”工具条控件窗口。另外一种是ActiveX控件,通过点击菜单“视图”->“工具栏”,在弹出菜单上选择“控件工具箱”(也可以选择“Visual Basic”,然后再在工具栏上选择“控件工具箱”),将出现“控件工具箱”窗口。

窗口工具条控件是Excel5和Excel95留下来的东西(在Excel 97后的版本中,添加一个Dialog Sheet后,将可以看到这个窗体工具条窗口),从Excel 97开始,Dialog Sheet被UserForm代替,并且开始使用ActiveX控件。

从某些角度来讲,窗体控件甚至比ActiveX控件更有优势。

  1. 如果你需要在Chart工作表中添加控件,只能使用窗体工具条控件。
  2. 更加方便使用VBA代码创建窗体控件以及定义事件过程。
  3. 窗体控件的事件过程可以放在标准模块,可以使用任何有效的VBA过程名称,可以在控件创建之前就创建事件过程。
  4. 可以给多个控件赋于一个相同的过程。
  5. 可以使用Application.Caller来获取窗体控件的名称。

窗体控件比ActiveX控件简单,基本上只有一个Click事件。而ActiveX控件可以响应丰富的事件,ActiveX控件的事件只能放在控件所在的类模块(工作表模块)或窗体模块。过程名称由控件名和事件名称组成。如果你在控件不存在的时候就创建这个控件的事件过程,然后再在代码中引用这个控件,将会出现编译错误,所以必须使用代码创建事件过程。
阅读全文…

VBA , ,