Arrays 遍历一系列文本框
我在一个MS Word文档中有大约13个文本框,它们使用活动的X文本框控件。我发现这段代码在我的测试中非常有效,只使用了一个文本框 我如何按名称循环浏览所有13个文本框,而不是将此代码添加到所有13个文本框中Arrays 遍历一系列文本框,arrays,vba,loops,ms-word,Arrays,Vba,Loops,Ms Word,我在一个MS Word文档中有大约13个文本框,它们使用活动的X文本框控件。我发现这段代码在我的测试中非常有效,只使用了一个文本框 我如何按名称循环浏览所有13个文本框,而不是将此代码添加到所有13个文本框中 Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii > Asc("9") Or KeyAscii < Asc("0") Then If KeyAscii =
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii > Asc("9") Or KeyAscii < Asc("0") Then
If KeyAscii = Asc("-") Then
If InStr(1, Me.TextBox1.Text, "-") > 0 Or _
Me.TextBox1.SelStart > 0 Then KeyAscii = 0
ElseIf KeyAscii = Asc(".") Then
If InStr(1, Me.TextBox1.Text, ".") > 0 Then KeyAscii = 0
Else
KeyAscii = 0
End If
End If
End Sub
Private Sub TextBox1\u按键(ByVal keyscii作为MSForms.ReturnInteger)
如果KeyAscii>Asc(“9”)或KeyAscii0或_
Me.TextBox1.SelStart>0然后keyacii=0
ElseIf keyscii=Asc(“.”),则
如果InStr(1,Me.TextBox1.Text,“.”>0,则KeyAscii=0
其他的
KeyAscii=0
如果结束
如果结束
端接头
您可以这样做:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
HandleKeyPress Me.TextBox1, KeyAscii
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
HandleKeyPress Me.TextBox2, KeyAscii
End Sub
Private Sub HandleKeyPress(txtBox As Object, ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii > Asc("9") Or KeyAscii < Asc("0") Then
If KeyAscii = Asc("-") Then
If InStr(1, txtBox.Text, "-") > 0 Or _
txtBox.SelStart > 0 Then KeyAscii = 0
ElseIf KeyAscii = Asc(".") Then
If InStr(1, txtBox.Text, ".") > 0 Then KeyAscii = 0
Else
KeyAscii = 0
End If
End If
End Sub
Private Sub TextBox1\u按键(ByVal keyscii作为MSForms.ReturnInteger)
HandleKeyPress Me.TextBox1,键ASCII
端接头
专用子文本框2u按键(ByVal KEYSCII作为MSForms.ReturnInteger)
HandleKeyPress Me.TextBox2,键ASCII
端接头
私有子HandleKeyPress(txtBox作为对象,ByVal KeyAscii作为MSForms.ReturnInteger)
如果KeyAscii>Asc(“9”)或KeyAscii0或_
txtBox.SelStart>0然后keyscii=0
ElseIf keyscii=Asc(“.”),则
如果InStr(1,txtBox.Text,“.”>0,则KeyAscii=0
其他的
KeyAscii=0
如果结束
如果结束
端接头