VBA Excel 实践(三)Excel控件及Excel控件的初始化
引言
我们还是要回顾下我们要干什么?我们的目标是做一个具有查询及显示查询结果的工具。上一章介绍了窗体及其属性、事件、方法等,这个东西只能算是画个查询条件的框框,里面的具体查询条件怎么填呢。
从我们见过的软件分析,要写一个查询条件的输入,必须有输入框吧,有可能有选择框吧,有可能有多选、单选框吧,你得有确定按钮吧,本章主要描述这些东西及其初始化
一、综述
控件其实也是窗体,是上篇中的窗体的儿子、继承者。目前我们常用的有标签(Lable),文本框(TextBox),复合框(ComboBox),列表框(ListBox),复选框(CheckBox),选项按钮(OptionButton),命令按钮(CommandButton),等等。
因为控件和窗体是继承关系,所以控件的属性和窗体差不多,如位置、大小、字体相关、图片相关、鼠标相关等。但是龙生九子,子子不同,他们又会生出具有各自特点的属性。
二、属性
上面说了,龙生九子,子子不同。所以控件在继承窗体的属性时,不是全部继承,一般都是根据自身的功能去继承父亲的某些特点。同时,儿子也会生出一些自己的共性特点(属性)。
- 新属性:
textalign | 文本对齐方式 |
1 fmTextAlignLeft 2 fmTextAlignCenter 3 fmTextAlignRight |
对于listbox只对编辑框起作用 |
AutoSize |
控件调节自身大小 |
ture false |
true表示自动调整,当然不同的空间自动调整的含义不同 |
AutoTab |
当用户在文本框或组合框的文本框区域输入了最大允许字符数时,是否自动跳格 |
ture false |
MaxLength 属性规定了在文本框或组合框的文本框区域内所允许的最大字符数 |
TabIndex |
按tab键时TabIndex表示第几个跳到该控件 |
整数 |
|
TabStop | TabStop表示按tab键时是否忽略该控件 |
ture false |
true 表示接受tab |
ControlSource |
标识用于设置或储存控件中 Value 属性的数据位置。ControlSource 属性可接受 Microsoft Excel 工作表区域 |
一般写excel单元格 | excel单元格和控件对应的value可以互相影响。意思就是你改一个另外一个就会跟着改 |
ControlTipText |
指定当用户将鼠标指针放在控件上但未按下时所显示的文本 |
三、方法
AddItem,RemoveItem方法等
四、控件初始化示例
对于控件的初始化,我们一般在UserForm的init事件中进行。初始化控件时,可对控件的属性进行赋值。本次示例对checkbox,textbox,listbox,combobox进行了初始化操作,分别进行了:复选框选定初始化,文本框内容初始化,复合框内容初始化,列表框内容初始化。
赋值效果,及代码如下:
- 效果:
- 代码:
Dim MyArray(6, 3)
'文本框初始化:属性赋值
Private Sub testboxinit()TextBox1.Text = "TextBox1"TextBox1.Enabled = FalseTextBox1.Locked = FalseTextBox2.Text = "TextBox2"
End Sub
'复选框初始化:名称赋值,是否选定
Private Sub checkboxinit()CheckBox1.Caption = "Enabled"CheckBox1.Value = TrueCheckBox2.Caption = "Locked"CheckBox2.Value = False
End Sub
'复合框初始化:内容初始赋值
Private Sub comboxinit()Dim j As IntegerFor j = 1 To 9ComboBox1.AddItem "Choice " & jNext jComboBox1.AddItem "Chocoholic"
End Sub
'列表框初始化:内容初始赋值
Private Sub listboxinit()Dim i As Single'第一个列表框包含三个数据列ListBox1.ColumnCount = 3'第二个框包含六个数据列ListBox2.ColumnCount = 6'把整数值加载到 MyArray 的第一列For i = 0 To 5MyArray(i, 0) = iNext i'加载 MyArray 的列 2 和列 3MyArray(0, 1) = "Zero"MyArray(1, 1) = "One"MyArray(2, 1) = "Two"MyArray(3, 1) = "Three"MyArray(4, 1) = "Four"MyArray(5, 1) = "Five"MyArray(0, 2) = "Zero"MyArray(1, 2) = "Un ou Une"MyArray(2, 2) = "Deux"MyArray(3, 2) = "Trois"MyArray(4, 2) = "Quatre"MyArray(5, 2) = "Cinq"'把数据加载到 ListBox1 和 ListBox2ListBox1.List() = MyArrayListBox2.Column() = MyArray
End SubPrivate Sub UserForm_Initialize()Call testboxinitCall comboxinitCall listboxinitCall checkboxinitEnd Sub
VBA Excel 实践(三)Excel控件及Excel控件的初始化相关推荐
- Datawhale 202210 Excel | 第三章 快捷键操作示例 Excel快捷键列表
Excel快捷键及快捷操作示例 1. 快捷键操作示例 1.1 自动插入求和公式 1.2 自动进行列差异比对 1.3 自动填充 需要提取客户的手机号 身份证号码中提取出生日期 2. 快捷键列表 常用 文 ...
- c#操作excel方式三:使用Microsoft.Office.Interop.Excel.dll读取Excel文件
1.引用Microsoft.Office.Interop.Excel.dll 2.引用命名空间.使用别名 using System.Reflection; using Excel = Microsof ...
- 使用Aspose.Cell控件实现Excel高难度报表的生成(三)
在之前几篇文章中,介绍了关于Apsose.cell这个强大的Excel操作控件的使用,相关文章如下: 使用Aspose.Cell控件实现Excel高难度报表的生成(一) 使用Aspose.Cell控件 ...
- EXCEL 表单控件与ACTIVEX控件的区别
近期,有同事非要在EXCEL里实现复选框显示/隐藏特定数行的功能,在帮助其实现过程中发现,很有必要了解表单控件和ACTIVEX控件的区分. 首先,要记住一个网址:http://www.excelhom ...
- excel日历弄到html,如何在Excel中利用日历控件来快速输入日期
给大家分享了一个利用日历控件在Excel单元格中输入日期的小窍门.大家知道,物流和会计行业的报表,经常需要手工输入一些日期,例如发货日期,在途时间.到达配送中心日期.签收日期等,如果手工输入,难免出错 ...
- vb.net datagridview控件导出excel
导出数据的时候,经常需要将软件中的表格导出为excel,学习vb的时候用到了这个功能,当时用的是面向过程的编程方法,哪里需要了,就在哪个窗体写一遍代码.这次,我们使用面向对象的思维再次实现这个功能.对 ...
- C#下使用第三方开源控件读取Excel文件的内容
使用了两个开源控件读取Excel文件的内容,不需要安装Excel或Office,开发环境可能需要vs2008(2005没测试过) NPOI, 读取xls文件(Excel2003及之前的版本 ...
- VBA for Excel(三)
VBA for Excel(三) 本文涉及到的问题 表,文件的增存删改 前言 也许你看完前面两篇文章后完全是懵的,心里想介绍了怎么录制宏,什么是对象,VBA基本语法我就会用了吗,骨架子就是骨架子,没有 ...
- 关于Excel的问题,不可编辑的区域--控件
昨天遇到一个问题,有同事表格的上面产生了一个白色不可编辑的区域. 首先去网上查资料,定位到了Excel控件,然后就好解决了. 解决方法:无论是WPS还会office 都有一个开发工具 点击开发工 ...
- vba宏语言_三分钟了解Excel的程序语言VBA
VBA全称为Visual Basic for Applications是一种宏语言,是MicrsoftOffice软件的扩展的应用程序功能. 作为一种计算机语言,VBA的内容是以代码的形式存在的. V ...
最新文章
- String、StringBuffer、StringBuilder的理解
- 连夜撸了一个简易聊天室
- putty秘钥验证登录和xshell秘钥验证登录
- python 小说-用python给自己做一款小说阅读器过程详解
- Python: strip()和split()的用法与区别
- Boost:嵌入PTX汇编指令 直接将其添加到boost.compute函数中
- [Java基础]反射获取成员变量并使用练习
- python链表节点的插入p.next curnode_leetcode刷题总结之链表
- GCN--如何用图卷积网络在图上进行深度学习
- 产品经理必备 [Axure组件、PRD模板、竞品分析、数据分析等模板]
- maya python 游戏与影视编程指南pdf_《Maya Python游戏与影视编程指南》.( [美]Adam Mechtley).[PDF]...
- python编程星期几_python如何获取星期几
- 非计算机,如何学习计算机视觉
- 【python】excel文件(.xls文件)处理
- MarkDown 内部跳转链接
- android parcel分析,android – 从Intent检索时Parcel崩溃
- C++从txt文本中输入和读取字符串
- 前端插件日常问题 整理
- linux的一些细节记录
- CRC32原理及实现学习
热门文章
- 开心网页面,使用CSS3
- linux能yum装mcafee吗,Ubuntu安装Mcafee步骤
- 去除wmv等视频认证的方法
- Vagrant 与 VirtualBox 的保姆级安装教程
- bt5使用教程----主要是渗透方面
- ue编辑器编辑 html文件夹,ue编辑器使用教学,轻松编辑文本和项目
- UE4编辑器语言设置-中英对照
- 五子棋软件测试自学,初学者如何从零开始自学五子棋
- GHOST XP SP3 遐想网络 纯净驱动预览版 2.0
- mac/macbook teamviewer 使用 trackpad 触控板双指滑动出问题/出bug/无法控制/无法滚动/速度过快