office - Excel - VBA入门基础 - 图文(14)
动手试一试,在属性窗口里设臵?我的窗体?宽300 Point(Width属性),高200 Point(Height属性)。 2、为窗体添加界面元素
窗体就像一个舞台,舞台上得有演员才能和观众进行互动。同样,我们得为窗体这个舞台添加演员,演员可以是命令按钮、标签、文字框等等,你可以根据自己的剧本的需要安排不同的角色。
向窗体添加控件,同在工作表中添加窗体控件一样。如果你现在的VBE编辑窗口中没有?工具箱?,请通过?视图——>工具箱?菜单命令,或单击?工具栏?上的?工具箱?按钮打开它。
1-3.jpg (55.44 KB)
想知道?工具箱?里的控件是哪一种是?命令按钮?,哪一种是?标签?,哪一种是?文字框?,只需要把鼠标指针移到相应的控件上面,即会显示相应的说明。
在工具箱里用鼠标点选相应的控件,在窗体上按下鼠标左键,拖动即可将控件添加到用户窗体。控件的大小、在窗体上的位臵我们可以通过鼠标进行修改,当然,同修改其他属性一样,我们也可以在属性窗口或程序的过程中用代码进行修改。 别闲着,动手试一试:
(1)向窗体添加一个命令按钮
改按钮名称为?确定?。设臵显示在按钮上的文字(Caption属性)为?完成?,高25(Height属性),宽60(Width属性),距?我的窗体?左端220(Left属性),距?我的窗体?顶端80(Top属性)。 引用:
当然,上面只是教你怎样在属性窗口里对控件的属性进行修改。要求不是太完美的时候,我们可以在窗体上用鼠标拖动修改一下就可以了。
(2)向窗体添加一个标签 改标签的名称为?说明?。设臵字体(Font属性)为?宋体,五号,斜体?,显示的内容(Caption属性)为?请输入内容?(慢速双击激活控件即可输入)。 (3)向窗体添加一个文字框 改文字框的名称为?内容?,设臵字体(Font属性)为?楷体五号字?,字体颜色(ForeColor属性)为?红色?。
回到窗体设计模式,按F5键(或者执行?运行——>运行子过程/窗体?菜单命令,或单击工具栏上的?运行子过程/窗体?命令按钮),完整的一个用户窗体就显示在桌面上了。
1-4.jpg (23.78 KB)
当然,因为没有添加任何的VBA指令,此时,窗体里的控件是不会工作的。
(4)为命令按钮添加事件过程
上面的标签,文字框,命令按等控件(ActiveX控件,同我们刚开始说的窗体控件是有区别的)都属于对象,我们可以通过编写相应的代码设臵其属性,调用其方法,响应其事件来达到我们需要实现的操作。
比如在?我的窗体?中,如果需要在点击?完成?按钮(按钮名称为?确定?)后,用一个Msgbox告诉我们,文字框(名称为?内容?)里输入的是什么内容。
有了这个思想,我们可以模拟把程序写为: Sub 确定_单击()
Msgbox ?文字框里输入的内容是:? & 内容.输入的内容 End Sub
有了这个模拟的程序,再来写就简单了。
?单击?是?确定?的一个事件,即Click事件,?内容.输入的内容?是读取?内容?的Value属性。 这样,我们的程序实际上是: 代码:
Sub 确定_Click()
MsgBox \文字框里输入的内容是:\内容.Value End Sub
回到窗体,双击按钮,切换到代码模式,在左面?对象列表?中选择对象?确定?,右面事件列表中选择事件?Click?,将Sub与End Sub之间输入代码MsgBox \文字框里输入的内容是:\内容.Value。回到设计模式下,按F5键,再次运行窗体,在文字框里输入内容,单击?完成?。
也许你需要在文字框里什么也没有输时,单击按钮后,提示我们?文字框里没有输入任何内容?,并退出程序。可以的,加一个If—Then语句即可。如果需要将文字框里的内容换行显示,那么在提示内容与显示内容之间再连接一个?Chr(13)?,就个的作用相当工作表中的?Char(10)?,这里不再多说。 我最后写的代码是: 代码:
Private Sub 确定_Click() If 内容.Value = \
MsgBox \文本框里没有输入任何内容!\
Exit Sub '退出sub过程,不再执行下面的语句 End If
MsgBox \文字框里输入的内容是:\内容.Value End Sub
3、显示窗体
显示窗体就是把窗体显示给用户。 显示窗体可以调用窗体的Show方法。 窗体的显示模式有两种:
(1)模式窗体:窗体显示后将停显示之后的代码直到退出或隐藏此窗体,并且必须退出或隐藏此窗体后,才可以操作非此窗体的其他界面元素。
也就是说,当你使用模式窗体显示某窗体的时候,当程序执行完?显示窗体?这条命令后,将暂停执行程序里剩余的语句,真正这个窗体被隐藏或退出。关且当窗体显示出来以后,你不能激活该窗体以外的任何区域。
(2)无模式窗体:窗体显示后会继续执行程序里余下的语句,而其他的窗体或界面也可以进行操作。 显示窗体的语句:
(1)模式窗体的显示代码: 窗体名称.Show vbModal
也可以写成:窗体名称.Show 1 (2)无模式窗体的显示代码: 窗体名称.Show vbModeless 也可以写成:窗体名称.Show 0
引用:
悄悄告诉你:因为对于Show方法,如果不指定模式,则默认为模式窗体,又因为我很懒,所以我的习惯是:当我需要用模式窗体的时候,就直接?窗体.Show?,需要无模式的时候就?窗体.Show 0?,多个0少个0而已,懒得去记那有模式无模式的字母,我英文差,反正看了也不一定认识。 4、关闭窗体
当不再需要使用某个窗体后,我们需要把它关闭。当然,每
一个窗体上都有?关闭?按钮。但这肯定不能满足我们在程序的设计过程中的需求。
我们可以通过Hide来隐藏窗体。代码为: 窗体名称.Hide
也可以通过Unload来卸载窗体。代码为: Unload 窗体名称
二者都可以关闭窗体,但是却是有区别的。Show一个Hide的窗体比Show一个Unload的窗体用的时间要短。所以,当你需要反复使用某个窗体的时候,建议你用Hide而不用Unload。
------------------------------------------------------- 上面讲的这些内容,打开VBE窗口,插入窗体,添加控件,修改属性,编写事件过程等等,这些,你都跟着做了吗?如果你已经做了,那最后我再留给你一点事情算是作业吧:
(1)插入一个模块,编写两个Sub过程,分别以?模式窗口?和?无模式窗口?显示?我的窗体?(可在显示窗体命令的下一行再编写另外一条指令查看两者在程序执行过程中的区别);
(2)在工作表上插入两个窗体控件的按钮(记住是窗体控件),分别改按钮上显示的字为?模式窗体?和?无模式窗体?,并把刚才编写的两个宏分别指定给它们;
(3)再次进行入?我的窗体?的设计模式,添加两个按钮,分别改其?Caption?属性为?隐藏窗体?和?卸载窗体?。分别为两个按钮编写响应其相应事件的代码,使得当单击?隐藏窗体?按钮时,隐然?我的窗体?,单击?卸载窗体?时,卸载?我的窗体?。
弄好后,你可以点击工作表上的铵钮,调出窗体,看看自己的第一件作品了。
为避免大家都不习惯,我还是不客气好了。。。。。11楼的代码 为什么前面要if呢?为什么不全部case? Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case [a1].Value Case \
MsgBox \未输入任何字符\
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




