VBA Excel 实践(三)Excel控件及Excel控件的初始化

您所在的位置:网站首页 vba当前工作表代码怎么写 VBA Excel 实践(三)Excel控件及Excel控件的初始化

VBA Excel 实践(三)Excel控件及Excel控件的初始化

2024-03-16 14:02| 来源: 网络整理| 查看: 265

引言

我们还是要回顾下我们要干什么?我们的目标是做一个具有查询及显示查询结果的工具。上一章介绍了窗体及其属性、事件、方法等,这个东西只能算是画个查询条件的框框,里面的具体查询条件怎么填呢。

从我们见过的软件分析,要写一个查询条件的输入,必须有输入框吧,有可能有选择框吧,有可能有多选、单选框吧,你得有确定按钮吧,本章主要描述这些东西及其初始化

一、综述

控件其实也是窗体,是上篇中的窗体的儿子、继承者。目前我们常用的有标签(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表示第几个跳到该控件

整数

 TabStopTabStop表示按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 = False TextBox1.Locked = False TextBox2.Text = "TextBox2" End Sub '复选框初始化:名称赋值,是否选定 Private Sub checkboxinit() CheckBox1.Caption = "Enabled" CheckBox1.Value = True CheckBox2.Caption = "Locked" CheckBox2.Value = False End Sub '复合框初始化:内容初始赋值 Private Sub comboxinit() Dim j As Integer For j = 1 To 9 ComboBox1.AddItem "Choice " & j Next j ComboBox1.AddItem "Chocoholic" End Sub '列表框初始化:内容初始赋值 Private Sub listboxinit() Dim i As Single '第一个列表框包含三个数据列 ListBox1.ColumnCount = 3 '第二个框包含六个数据列 ListBox2.ColumnCount = 6 '把整数值加载到 MyArray 的第一列 For i = 0 To 5 MyArray(i, 0) = i Next i '加载 MyArray 的列 2 和列 3 MyArray(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 和 ListBox2 ListBox1.List() = MyArray ListBox2.Column() = MyArray End Sub Private Sub UserForm_Initialize() Call testboxinit Call comboxinit Call listboxinit Call checkboxinit End Sub

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3