分享

VBA窗体-搭建一个简单的登录界面

 钺YUE 2022-08-18 发布于天津

今天教大家如何绘制一个简单的登录界面,加上一点动态效果,让它看起来更高级。

一、基本界面的绘制

1. 先插入一个窗体
2. 插入两个文本框,一个输入账户,一个输入密码
3. 插入两个按钮,一个是取消,一个是登录
4. 插入一个复选框,用于判断用户是否保存密码

图片

二、代码示例

1. 在窗体里写入如下代码:

Dim tx1 As New cls_Activate_color, tx2 As New cls_Activate_colorDim ct1 As New cls_Activate_color, ct2 As New cls_Activate_color
Private Sub CommandButton2_Click()'取消登录 Unload MeEnd Sub
Private Sub UserForm_Initialize() Me.TextBox1.SetFocus '初始化时,控件绑定到类模块的事件 Set tx1.Tx = Me.TextBox1 Set tx2.Tx = Me.TextBox2 Set ct1.ct = Me.CommandButton1 Set ct2.ct = Me.CommandButton2End Sub

2. 调用下面给出的类模块代码,实现一个随鼠标移动选择的效果:

'下面是类模块代码 类模块名称:cls_Activate_color
Public WithEvents Tx As MSForms.TextBoxPublic WithEvents ct As MSForms.CommandButton
Private Sub ct_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) ct.ForeColor = RGB(250, 0, 0) ct.SetFocus Dim c As Control For Each c In UserForm1.Controls tt = VBA.TypeName(c) If VBA.TypeName(c) = 'CommandButton' And c.Name <> ct.Name Then c.ForeColor = RGB(0, 0, 0) ElseIf VBA.TypeName(c) = 'TextBox' Then c.BorderColor = RGB(0, 0, 0) End If Next cEnd Sub
Private Sub Tx_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Tx.BorderColor = RGB(250, 0, 0) Tx.SetFocus Dim c As Control For Each c In UserForm1.Controls If VBA.TypeName(c) = 'TextBox' And c.Name <> Tx.Name Then '其它文本框设置为黑色 c.BorderColor = RGB(0, 0, 0) ElseIf VBA.TypeName(c) = 'CommandButton' Then c.ForeColor = RGB(0, 0, 0) End If Next cEnd Sub

三、操作视频(15s)

四、还需完善的地方

  • 这个登录界面还有很多东西没有完善,比如:基本的配色、图标、登录与取消、窗体最上方标题栏是否要去除都是需要考虑的。

  • 对于登录的验证代码、文本框输入密码时的掩盖以及如何保存与读取账号密码,也是需要考虑的问题。

  • 不仅可以使用文本框作为输入的控件,还可以使用组合框。

注:需要文件的,历史文章(Excel_VBA_不定期更新)拉到最下方,自取即可。

文件为:搭建一个简单的登录界面.xlsm

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多