vba-commandbutton,textbox,label最常用方法与属性以及个别事件
CommandButton 常用属性+方法记录:
- Me.CommandButton1.ControlTipText = "" '按钮的提示,就是鼠标移过去,会显示 提示
- Me.CommandButton1.Picture '按钮的图片
- Me.CommandButton1.PicturePosition = fmPicturePositionCenter '按钮上图片,文字的位置
- Me.CommandButton1.Visible '按钮的显示属性
- Me.CommandButton1.Accelerator = "F" '按钮的热键,此时按alt + F 则可执行
- Me.CommandButton1.Enabled = False '设置按钮不能用,但是可见
- Me.CommandButton1.Cancel = True '按esc 就可以退出
- Me.CommandButton1.Default = True '按 enter时 就可以执行
- Me.Tag = 100 '临时存放的值,可以当作一个标识。比如说100,就可以通过me.tag 给取出来
- For Each X In Me.Controls '可以在窗体上的所有控件间循环
- '一个按钮可以执行多个程序,方法:用caption来if判断 然后跟不同的代码
Label 常用属性+方法记录:
- Me.Label1.AutoSize = True '自动调整大小适应文字数量
- Me.Label1.BackStyle = fmBackStyleOpaque '背景透明
- Me.Label1.TextAlign = fmTextAlignCenter '文字的对齐方式,居中对齐
- Me.Label1.WordWrap = True '可以自动换行
TextBox 常用属性+方法记录:
- Me.TextBox1.MultiLine = True '文本框多选显示
- Me.TextBox1.TextAlign = fmTextAlignCenter '文本框的对齐方式
- Me.TextBox1.PasswordChar = "*" '设置文本框显示,显示特殊字符替换原字符
- Me.TextBox1.ScrollBars = fmScrollBarsBoth '设置文本框的滚动条,这个表现水平和垂直都有
- Me.TextBox1.EnterKeyBehavior = True '为真时能强制换行,按回车就可以转到下一行, _
- 只有在 multiline为true时才能用
- '若在代码中时,可以用chr(10)代替 enter
- Me.TextBox1.MaxLength = 5 '当你输入到5个字符时,自动跳转到下一个控件(按TAB顺序)
- Me.TextBox1.Locked = True '锁定,显示正常,可以选择,但不能编辑
- Me.TextBox1.DragBehavior = fmDragBehaviorDisabled '设置文本框里的文本是否可以拖动复制粘贴
- Me.TextBox1.LineCount '获得文本框的行数
- Me.TextBox1.SelLength '获得文本框选取的文本的长度
- Me.TextBox1.SelText '锋利文本框中选择的文本
- Me.TextBox1.SetFocus '当窗体出现时,将光标自动落到文本框中
Private Sub TextBox1_AfterUpdate()
'离开文本框时,且文本发生了改变,才运行这个程序
End Sub
Private Sub TextBox1_Enter()
'光标进入文本框时触发
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'光标离开文本框时触发
If Me.TextBox1.Text = "" Then
Cancel = True
MsgBox "你没有输入内容,不能跳过"
End If
End Sub
Private Sub UserForm_Initialize()
'窗体初始化
End Sub
Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'KeyCode 键盘上的按键代码,唯一的
'Shift 表示 的有三个键 ctrl shift alt
If KeyCode = 65 And Shift = 2 Then MsgBox "你同时按下了ctrl+A"
End Sub
Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'UserForm_KeyPress 这个不能捕获上下左右键。用的很少,一般用key down
End Sub
Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
'Button 鼠标左键是1,有键是2,中键是4
'Shift shift:1,ctrl:2,ctrl+shith :3,alt :4,alt+shift :4,alt+ctrl:6,alt+ctrl+shift :7
'鼠标在窗体上的位置,模坐标是X,纵坐标是Y
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
'关闭前事件
'cancel 为>0的数时,禁止太疯癫动作发生,
'CloseMode为关闭模式,0表示点关闭按钮,1表示使用unload关闭
End Sub