EXCEL中有两种控件:表单控件和active控件

表单控件是excel5和excel95开始使用的,从excel97开始,active控件开始出现

关于表单控件和active控件的区别和使用范围,网上有很多表述,以下是我在实际使用过程中的一些体会:

1.在兼容性上,表单控件要强于active控件,由于active需要引用refedit.dll文件,而不同版本的office此文件不同,会造成在某台电脑上编写的VBA程序,换另一台电脑就不能使用

2.在事件和属性上,表单控件不如active控件,表单控件几乎只有一个click事件,而active控件每个控件都有非常多的事件,而且每个事件也可以编写不同的过程。active控件可控制的属性也非常多,这为程序界面设计提供了很多的变化。

3.多数情况下,我们通过表单控件加编写特定的过程就可以完成对工作表的大部分控制,但是如果对程序的界面设计或者人机交互(例如弹出输入框等)要求较高,则应该使用active控件,并且active控件应和userform一起使用才更能发挥其作用

4.表单控件作为一个旧版excel留下来的功能,也许微软会在未来将其取消,完全由active所取代,这也是一个需要权衡的地方。

在VBA中的使用上,二者也有一些区别

一、表单控件

VBA中引用表单控件有两种方法:

1.直接使用对象名称,这样非常简洁方便,但是编辑器中输入代码没有方法和属性的提示
如:Sheet1.Labels("标签 1").Caption = "我是标签1"
注意空格
也可以使用如下语句实现变量控制
Sheet1.Labels("标签 " & i).Caption = "我是标签1"

2.使用DrawingObjects表示
如:Sheet1.DrawingObjects("标签1").Caption = "我是标签1"
但是注意,DrawingObjects正在渐渐被shape对象取代

二、active控件

VBA中引用active控件可以使用oleobject对象,并且可以加变量
Sheets(1).OLEObjects("CheckBox" & i).Object.Value

Excel中的表单控件和active控件的更多相关文章

  1. JavaScript中的表单编程

    表单编程 1获取表单相关信息 1.什么是表单元素 1.什么是表单元素 在H TML中表单就是指form标签,它的作用是将用户输入或选择的数据提交给指定的服务器 2.如何获取表单元素 <form ...

  2. Django中的表单

    目录 表单 Django中的表单 用表单验证数据 自定义验证 表单 HTML中的表单是用来提交数据给服务器的,不管后台服务器用的是 Django  还是 PHP还是JSP还是其他语言.只要把 inpu ...

  3. AngularJS中的表单验证

    AngularJS中的表单验证 AngularJS自带了很多验证,什么必填,最大长度,最小长度...,这里记录几个有用的正则式验证 1.使用angularjs的表单验证 正则式验证 只需要配置一个正则 ...

  4. django中form表单的提交:

    一,关于表单: 表单在百度百科的解释:   表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域 ...

  5. MVC中处理表单提交的方式(Ajax+Jquery)

    MVC中处理表单有很多种方法,这里说到第一种方式:Ajax+Jquery 先看下表单: <form class="row form-body form-horizontal m-t&q ...

  6. angular中的表单验证

    angular中的表单验证很强大, 一共有5中验证信息,$valid,$invalid,$pristine,$dirty,$error. $valid-----当验证通过的时候,为true,不通过的时 ...

  7. MVC中Form表单的提交

    概述 Web页面进行Form表单提交是数据提交的一种,在MVC中Form表单提交到服务器.服务端接受Form表单的方式有多种,如果一个Form有2个submit按钮,那后台如何判断是哪个按钮提交的数据 ...

  8. YII中的表单挂件

    利用助手(widget)在页面实现表单 控制器中 <?php class YiiFormController extends Controller { public function actio ...

  9. 使用js控制表单重复提交(1加锁,2事件方式,3 EasyUI中解决表单重复提交)

    方法一. var flag = true; $(function() { $("#interested").click(function() { beInterested(); } ...

随机推荐

  1. strip_tags,htmlspecialchars,htmlentities,stripslashes,addslashes学习小结

    一.strip_tags 从字符串中去除 HTML 和 PHP 标记 string strip_tags ( string $str [, string $allowable_tags ] ) str ...

  2. 编写一个类A,该类创建的对象可以调用方法f输出小写的英文字母表。然 后再编写一个A类的子类B,要求子类B必须继承类A的方法f(不允许重写), 子类B创建的对象不仅可以调用方法f输出小写的英文字母表,而且可以调用子 类新增的方法g输出大写的英文字母表。最后编写主类C,在主类的main方法 中测试类A与类B。

    package zimu; public class A { public void f() { for (int i = 97; i <123; i++) { System.out.print ...

  3. pivot 与 unpivot 函数是SQL05新提供的2个函数 灰常灰常的实用

    转自:http://blog.sina.com.cn/s/blog_5ef755720100cyo3.html pivot函数: create table test(id int,name varch ...

  4. 数独Sudoku

    数独(すうどく,Sūdoku),是源自18世纪瑞士发明,流传到美国,再由日本发扬光大的一种数学游戏.是一种运用纸.笔进行演算的逻辑游戏.玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并 ...

  5. poj 2318 TOYS (二分+叉积)

    http://poj.org/problem?id=2318 TOYS Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 101 ...

  6. factory工厂模式之抽象工厂AbstractFactory

    * 抽象工厂: 意图在于创建一系列互相关联或互相依赖的对象. * 每个工厂都会创建一个或多个一系列的产品 * 适用于:产品不会变动,开始时所有产品都创建好,然后根据分类获取想要的 某一类产品(很像sp ...

  7. v9 推荐位 排序问题解决办法

    原网站:http://bbs.phpcms.cn/thread-879943-1-1.html 简介: 用phpcms做网站的时候,有些地方要用到推荐位列表,如幻灯片,特别推荐等.有时候因为文章的重要 ...

  8. HDU 1394

    单点,利用线段树解题,看到数据大小一定要敏感,说不定就是暗藏的解题思路 #include <stdio.h> #define lson l,mid,id<<1 #define ...

  9. Spring 自动装配 Bean

    Spring3系列8- Spring 自动装配 Bean 1.      Auto-Wiring ‘no’ 2.      Auto-Wiring ‘byName’ 3.      Auto-Wiri ...

  10. 12 Using_explain_plan

    The row source tree is the core of the execution plan. The tree shows the following information: An ...