爱联系——助你更熟悉办公软件!

介绍Excel中“控件”与VBA的基本知识

来源:原创    更新时间:2017-11-08 22:29:00    编辑:Legend    浏览:2657

Excel中“控件”与VBA的基本知识  

 

  一、“控件”的基本知识

  (一)什么是“控件”

    “控件”是“控件工具箱”提供的一系列对象,拥有自己的名称,存储于文档中。

    “控件”具有“属性”、“方法”和“事件”
  “属性”是描述其所属控件的某个可量化特征的变量,在 VBA 程序中,“属性”是使用点标记引用的:首先写下控件名称,输入小数点,将列出“属性名”和“方法名”清单,然后可以选择或输入“属性”名称,如:TextBox1.Text
  “方法”是控件“知道”如何执行的某种操作,在 VBA 程序中,“方法”也是使用点标记引用的:首先写下“控件”名称,输入小数点,将列出“属性名”和“方法名”清单,然后可以选择或输入方法“名称”,如:TextBox1.Activate
  “事件”是一种被对象“意识到”已经发生的操作,用户一般通过“事件”来完成一系列的程序运行,用户在Office中开发VBA应用,主要工作就是编制各种“控件”的各种“事件”对应的VBA程序(如单击“命令按钮”控件对应事件的VBA程序代码)。

  (二)什么时候使用控件

    如果需要在Microsoft Office中交互地完成某一任务,那么可以编写控件方法对应的VBA程序。
  例如,编写单击“命令按钮”的“方法”对应的更名保存文件的VBA程序

  二、Visual Basic编辑器与控件

  (一)什么是Visual Basic编辑器

    Visual Basic编辑器是一个用于编写和编辑VBA 的功能强大的工具,它使用户得以扩展宏的功能和多用性,而非局限于通过简单的录制就可以完成的任务。

  要打开该工具,执行“工具/宏/Visual Basic 编辑器”(或按 Alt+F11)。

  (二)Visual Basic编辑器窗口

    Visual Basic 编辑器可在不同的窗口中显示不同的信息。开始查看与编辑宏时,需要重点了解以下几个窗格。

  1.“项目资源管理器”窗格

  (1)作用

    在直接打开 Visual Basic 编辑器时,可以使用“项目资源管理器”窗口来选择要处理的VBA
  执行“视图/工程资源管理器”命令即可使之显示,
  右击窗格,“可连接的”选项用于控制该窗格是否可嵌入编辑器窗口

  (2)结构

    “项目资源管理器”采用树状视图(类似于 Windows® 资源管理器中的树状视图)中显示所有项目的“代码”和“宏”。
  该树状结构中的根对象(项目)是您所处理的当前工作簿以及其他一些打开的工作簿和外接程序
  项目使用的主要元素分别存储在每个项目的独立文件夹中,包括:
  ①MicroSoft Excel对象列表(各Sheet、ThisWorkBook) 
  ②模块(如果有的话),用户录制的与工作表相关的宏代码 
  ③类模块(如果有的话),用户为工作簿创建的用户定义对象的定义 
  ④用户窗体(如果有的话),提供了一个可视界面,用户可以在其上放置图形控件,例如按钮、图像和文本区域 

  2.“代码”窗格

“代码”窗口是 Visual Basic 编辑器中最大的窗口,其顶部有两个下拉框
  ①左侧的下拉框(即“对象”框)选择要处理的对象
  ②右侧的下拉框(即“方法”框)用于选择当前对象中的各种方法

  3.“属性”窗格

  作用:用于查看和更改与选定对象相关的各种“属性”。对于控件而言,通常有包括“名称”在内的许多“属性”是可用的。

  操作:对“属性”窗口中的“属性”的更改通常直接选择相应“属性项”直接更改;此外,也可以通过VBA程序设置或修改。

  (三)如何手工编写VBA程序

  在“项目资源管理器”窗格选中要添加“VBA”程序的“项目”
  单击“代码”窗格左上角“控件”下拉列表框,单击要编写其对应程序的控件;
  再单击该窗格右上角“方法”下拉列表框,单击要编写其对应程序的控件,即可在代码窗格中输入与编辑VBA程序源代码。

  三、控件与VBA程序

  ㈠“控件”与“VBA程序”的关系

  控件的“方法”通过其对应的VBA程序实现;当在Excel中添加”控件”后,可以通过编写该“控件”某一“事件”对应的VBA程序。

  ㈡Excel中的“控件”工具栏

  右击Excel的工具栏,选择“控件工具栏”即可使之“显示|消隐”。

  Excel的控件工具栏从左至少右依次为:
  设计模式|退出设计模式、属性、查看代码、复选框、文本框、按钮、选项按钮、列表框、组合框、切换按钮、滚动条、微调项、标签、图像、其他控件。

  ⒈“标签”和“文本框”

  ⑴标签

  用于显示文本信息,本身不具有可输入功能;标签的默认属性是Caption属性,标签的默认事件是Click事件。

  标签的基本属性包括:
  名称
  Caption:标签文本内容
  BackColor:背景色
  ForColor:前景色
  WordWrap:词绕转
  Width:宽度
  Height:高度
  Font:字体
  ……

  ⑵文本框

  用于交互输入与显示文本信息,本身具有交互性;文本框的默认属性是Value属性,文本框的默认事件是Change事件。

  文本框的基本属性包括:
  名称
  Text:文本
  Value:数据
  ScrollBars:滚动条
  BackColor:背景色
  ForColor:前景色
  WordWrap:词绕转
  MultiLine:多行
  MaxLength:最大长度
  Width:宽度
  Height:高度
  Font:字体
  ……

  ⒉ “选项按钮”和“复选框”

  ⑴选择按钮

  用于显示组中的某一项是否被选中,请注意框架中的各个选项按钮是互斥的;选项按钮默认属性是 Value 属性,选项按钮默认事件是 Click 事件。

  选择按钮的基本属性包括:
  名称
  Value:选中否
  Caption:显示选项文本信息
  BackColor:背景色
  ForColor:前景色
  GroupName:组名
  WordWrap:词绕转
  Width:宽度
  Height:高度
  Font:字体
  ……

  ⑵复选框

  可以允许用户从两个值中选择一个,例如从 Yes/No、True/False 或 On/Off 中进行选择;复选框的默认属性是 Value 属性,复选框的默认事件是 Click 事件。

  复选框的基本属性包括:
  名称
  Caption:显示选项文本信息
  Value:选中否
  BackColor:背景色
  ForColor:前景色
  GroupName:组名
  WordWrap:词绕转
  Width:宽度
  Height:高度
  Font:字体
  ……

  ⒊“命令按钮”

  通过选用其某种事件对应的VBA程序来启动、结束或中断一项操作或一系列操作;在命令按钮上可以显示文本或图片,或者二者同时显示;命令按钮的默认属性是AutoSize属性,命令按钮的默认事件是Click事件。

“命令按钮”的基本属性包括:
  名称
  Picture:显示的图像
  Caption:显示的文本
  BackColor:背景色
  ForColor:前景色
  Width:宽度
  Height:高度
  Font:字体
  ……

  ⒋“列表框”和“组合框”

  ⑴列表框

  用于显示若干个值的列表,用户可以从中选择一个或多个值;列表框的默认属性是 Value 属性,列表框的默认事件是 Click 事件。
  注意:不能在下拉列表框中放入文本。主要用于列出多项供选择(单项选择或多项选择均可)的文本信息。

  列表框的基本属性包括:
  名称:ListBox
  Text:文本
  Value:数据
  TopIndex:顶部选项索引值
  BackColor:背景色
  ForColor:前景色
  MultiSelect:多选
  Width:宽度
  Height:高度
  Font:字体
  ……

  列表框的赋值方法
  ①用AddItem属性加载单列数据到ListBox1,并取值到文本框与标签
  ②用AddItem、List属性加载双列数据到ListBox1,并取值到标签 
  ③用数组、List属性或Column属性赋值ListBox1和2

  ⑵组合框

  主要用于列出多项供选择(单项选择)的文本信息;组合框将列表框和文本框的特性结合在一起,用户可以像在文本框中那样输入新值,也可以像在列表框中那样选择已有的值;组合框的默认属性是Value属性,组合框的默认事件是 Change 事件。
  注意:如果希望在任何时候都将列表中的各行数据显示出来,那么可以使用列表框代替组合框;如果希望在使用组合框时,只使用列表中列出的值,可设置组合框的 Style 属性,以使该控件看上去像下拉列表框

  组合框的基本属性包括:
  名称:ComboBox
  Text:文本
  Value:数据
  TopIndex:顶部选项索引值
  BackColor:背景色
  ForColor:前景色
  Width:宽度
  Height:高度
  Font:字体
  ……

  组合框的赋值方法
  ①AddItem方法对组合框赋值
  ②用数组和List属性对组合框赋值 

  ⒌ “切换按钮”

  显示项目的选中状态。
  说明:用切换按钮显示某个项目是否被选中;也可在框架中使用切换按钮,以在一组相关项目中选择一个或多个项目;切换按钮的默认属性是 Value 属性,切换按钮的默认事件是Click事件。

  “切换按钮”的基本属性包括:
  名称:ToggleButton1(默认)
  BackColor:背景颜色
  Caption:显示的文本内容
  ForeColor:前景颜色
  Value:True和False
  AutoSize:自动调整大小(True和False)
  Enable:使能(True和False)
  WordWrap:词绕转
  Height:高度
  Width:宽度
  Font:字型
  ……

  ⒍“数值调节钮”和“滚动条”

  ⑴数值调节钮

  主要用于增加及减少数值。
  说明:单击数值调节钮只会更改数值调节钮的值。可以编写代码来用数值调节钮更新其他控件的显示值,例如标签控件的Caption属性或文本框的Text属性。若要创建横向或纵向的数值调节钮,请在窗体中沿横向或纵向拖动数值调节钮的尺寸控点;数值调节钮的默认属性是 Value 属性,数值调节钮的默认事件是 Change 事件。

    数值调节钮的基本属性包括:
  名称:SpinButton1
  Delay:50
  Max:100
  Min:0
  SmallChange:1
  BackColor:背景色
  ForColor:前景色
  Value:值
  Width:宽度
  Height:高度
  Font:字体 
  ……

  数值调节钮的赋值:“直接赋值”与“数组赋值”。

  ⑵滚动条

根据滚动块的位置,返回或设置另一控件的值;滚动条是可放置在窗体中的独立控件。
  为了用滚动条设置或读取其他控件的值,必须为滚动条的事件和方法编写代码。例如,为了用滚动条更新文本框的值,可编写代码读取滚动条的Value属性,然后设置文本框的Value属性;滚动条的默认属性是 Value 属性,滚动条的默认事件是 Change 事件。

  滚动条的基本属性包括:
  名称:ScrollBar
  Max:2767
  Min:0
  SmallChange:1
  BackColor:背景色
  ForColor:前景色
  Value:值
  Width:宽度
  Height:高度
  Font:字体
  …… 

  滚动条的赋值:“直接赋值”与“数组赋值”。

  四、进一步学习需要的预备知识

  ㈠激活工作表时发生的事件

  Private Sub Worksheet_Activate()
   ……
  End Sub

  ㈡选中“组合框”时发生的事件

  Private Sub ComboBoxClass_GotFocus()
   ……
  End Sub

  ㈢“组合框(ComboBox2_1~ComboBox2_12)”的典型循环赋值程序代码

  Dim ComboBox As Object
  Dim i As Integer
  Dim c(1 To 3) As String
  c(1) = ""
  c(2) = "正确"
  c(3) = "错误"
  For i = 1 To 12    '循环对12个“是非题组合框”赋值
   Set ComboBox = Sheets("基于控件的自测练习").Shapes.Item("ComboBox2_" & i).OLEFormat.Object.Object
   ComboBox.List() = c()
  Next i

  ㈣两个工作表之间数据的转换

  ⒈基本语句

  Sheets("A工作表名").Cells(行序号, 列序号) = Sheets("B工作表").Cells(列序号, 行序号2)
  作用:把“B工作表”中指定单元格的数据赋值给“A工作表”的指定单元格。

  ⒉案例

  由“参考答案”工作表向“基于控件的试卷”工作表复制参考答案的典型语句如下:

 

  '获取“单选题”参考答案
   For i = 2 To 15
    Sheets("基于控件的自测练习").Cells(i + 5 * (i - 1) - i + 5, 3) = Sheets("参考答案").Cells(i, 2)
   Next i

评论区

表情

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

相关内容

点击排行

随机新闻

评论排行榜