Excel中的表单控件和active控件
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控件的更多相关文章
- JavaScript中的表单编程
表单编程 1获取表单相关信息 1.什么是表单元素 1.什么是表单元素 在H TML中表单就是指form标签,它的作用是将用户输入或选择的数据提交给指定的服务器 2.如何获取表单元素 <form ...
- Django中的表单
目录 表单 Django中的表单 用表单验证数据 自定义验证 表单 HTML中的表单是用来提交数据给服务器的,不管后台服务器用的是 Django 还是 PHP还是JSP还是其他语言.只要把 inpu ...
- AngularJS中的表单验证
AngularJS中的表单验证 AngularJS自带了很多验证,什么必填,最大长度,最小长度...,这里记录几个有用的正则式验证 1.使用angularjs的表单验证 正则式验证 只需要配置一个正则 ...
- django中form表单的提交:
一,关于表单: 表单在百度百科的解释: 表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域 ...
- MVC中处理表单提交的方式(Ajax+Jquery)
MVC中处理表单有很多种方法,这里说到第一种方式:Ajax+Jquery 先看下表单: <form class="row form-body form-horizontal m-t&q ...
- angular中的表单验证
angular中的表单验证很强大, 一共有5中验证信息,$valid,$invalid,$pristine,$dirty,$error. $valid-----当验证通过的时候,为true,不通过的时 ...
- MVC中Form表单的提交
概述 Web页面进行Form表单提交是数据提交的一种,在MVC中Form表单提交到服务器.服务端接受Form表单的方式有多种,如果一个Form有2个submit按钮,那后台如何判断是哪个按钮提交的数据 ...
- YII中的表单挂件
利用助手(widget)在页面实现表单 控制器中 <?php class YiiFormController extends Controller { public function actio ...
- 使用js控制表单重复提交(1加锁,2事件方式,3 EasyUI中解决表单重复提交)
方法一. var flag = true; $(function() { $("#interested").click(function() { beInterested(); } ...
随机推荐
- sencha touch之模型(model)
模型的实例相当于数据库中表的一条记录. 一般模型在\app\model下创建,而且必须遵守类的命名规则,也就是可以根据类名找到模型的定义文件. 所有模型类都要从Ext.data.Model或Ext.d ...
- C#:常规属性和自动实现的属性
根据属性的实现方式,属性可分为自动实现的属性和常规属性. 常规属性需要具体的人为的实现get访问器或者set访问器,而且一般需要有一个字段与之相对应:而自动实现的属性的get和set访问器的实现部分被 ...
- Codeforces Round #257 (Div. 2) B
B. Jzzhu and Sequences time limit per test 1 second memory limit per test 256 megabytes input standa ...
- eclipse 实用快捷键
Ctrl+E: 弹出输入窗口,可快速返回想返回的目标界面 Ctrl+Shift+O: 快速import包 Ctrl+O:显示类中方法和属性的大纲 Ctrl+1 快速修复 Ctrl+Alt+↓ 复制当前 ...
- jQuery 预习视频
1.事件补充 <input type="button" onclick="CheckAll('#edit_mode','#tb1');" value=&q ...
- [转载] 一致性问题和Raft一致性算法
原文: http://daizuozhuo.github.io/consensus-algorithm/ raft 协议确实比 paxos 协议好懂太多了. 一致性问题 一致性算法是用来解决一致性问题 ...
- [转载] tcp那些事2
原文: http://coolshell.cn/articles/11609.html 这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇<TCP的那些事儿(上)> 上篇中,我 ...
- Android 四种简单的动画(淡入淡出、旋转、移动、缩放效果)
最近在Android开发当中,用到的动画效果. public void onClick(View arg0) { // TODO 自动生成的方法存根 switch (arg0.getId()) { c ...
- hostapd源代码分析(三):管理帧的收发和处理
hostapd源代码分析(三):管理帧的收发和处理 原文链接:http://blog.csdn.net/qq_21949217/article/details/46004379 这篇文章我来讲解一下h ...
- Android广播BroadcastReceiver 二
BroadcastReceiver: 在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制.而BroadcastReceiver是对发送出来的 Broadcast进行过滤 ...