本期给大家介绍用户界面的开发(Form用户窗体)以及一组实用工具
可能还有人不清楚什么是用户窗体?编写代码时经常会需要开发界面,方便用户输入信息,交互性好、用户体验也比较友好,比如用户登录界面,需要输入账号信息;还有上一期我们开发的自动生成口算自动化小工具也需要输入一些信息,也是用的用户窗体实现的。
闲话不多说,进入本期主题,带着具体的实例介绍它是怎么实现的吧。
创建用户窗体
插入窗体
在对应的Project下选择ThisWorkbook鼠标右键,选择插入里面的用户窗体,如下图:

显示窗体
添加完成后,一个空白的用户窗口(默认UserForm1)界面显示如下:

编辑用户窗体
添加控件
增加一些工具,如按钮、组合框、文本框、标签,根据需要可以将工具箱里的控件添加到用户窗口。
任意点击一个控件,鼠标在用户窗口会显示成一个十字,固定一个位置通过拖拽鼠标画出该控件,用户窗口和控件都可以调整大小。
如下实例,我增加了一个组合框(可以理解为下拉列表)、一个标签和一个按钮

修改控件属性
系统都给了默认的描述,如UserForm1、 Label1、和CommandButton1,但为了方便理解,我们可以对其进行修改。要想修改就要到属性窗口中了,属性窗口在左下角,红框的就是了。

我们用Label(标签)举例说明:选中Label1,找到它的Caption属性,将默认的“Label1”替换成“员工部门”即可,同样方法把其他控件都改完显示如下,是不是一下子就清楚它的功能啦?

初始化用户窗口
既然要选择,复合框内的下拉列表是不是要预先有内容才行呀?所以就需要预先设置一些数据,此处通过一个初始化的函数就可以实现了,双击用户窗口进入代码编辑窗口。
复合框内数据固定
编写代码:
Private Sub UserForm_Initialize() '窗体初始化
UserForm1.ComboBox1.AddItem "销售部" 'ListIndex =0
UserForm1.ComboBox1.AddItem "技术部" 'ListIndex = 1
UserForm1.ComboBox1.AddItem "采购部" 'ListIndex = 2
UserForm1.ComboBox1.AddItem "质管部" 'ListIndex = 3
'使用下拉列表
ComboBox1.Style = fmStyleDropDownList
ComboBox1.BoundColumn = 0
'把组合框设置为第一个条目
ComboBox1.ListIndex = 0 '组合框值是 ListIndex 值
End Sub
复合框里面的数据变动频繁
那这种数据初始化,最好就通过Excel表维护,然后在用户窗口初始化程序中写个循环语句读取出来顺次加入就行了。
主程序执行,显示用户窗口
Private Sub main()
UserForm1.Show '调用窗体
End Sub
点击“确认”按钮触发操作,提醒用户选择的部门信息并关闭用户窗口(数据已经传入,后续可以根据实际情况处理,不再赘述)
Private Sub CommandButton1_Click()
Dim CbContent As String
CbContent = ComboBox1.Text '获取下拉列表选择的值
MsgBox "当前文本框内容为: " & CbContent '获取到TextBox1输入的内容了呀
UserForm1.Hide '关闭用户窗口
End Sub
查看运行结果
程序启动
显示用户窗口,下拉列表默认显示的是第一个部门“销售部”:

程序运行
程序运行后,就可以点下拉列表选择部门信息了

至此我们的窗口就创建好了,咱们下期接着分享,敬请期待吧!
我的分享对你有帮助的话,麻烦点赞、加关注支持一下吧,你的支持就是我最大的创作动力!

1440

被折叠的 条评论
为什么被折叠?



