У меня есть около 13 текстовых полей в документе MS-Word с использованием элементов управления текстовыми полями Active X. Я нашел этот код, который, кажется, отлично работает в моем тесте с одним текстовым полем.
Как я могу перебрать все 13 текстовых полей по имени вместо добавления этого кода во все 13 текстовых полей.
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