Échadle un vistazo a esto a ver si es lo que queres, la verdad siempre hay formas mas simplificadas de hacerlo, pero tengo sueño mañana tengo que trabajar y esto es lo único que se me ocurre por el momento (creo que ni leí bien).
Mi Conciencia: ¿Tienes que trabajar? ¡Pero si tú no trabajas!
Yo: ¡cierto es! Pero igual me debo levantar temprano para estudiar,
Ahora mismo se me ocurre una forma muy sencilla de hacerlo, usando cuatro textbox o mejor aun una matriz de ellos, por ejemplo, y que cada uno sea un byte de la IP, luego lo concatenas junto con los puntos y ¡ya esta!
Pero si por otro lado preferís hacerlo con un solo textbox, te dejo esto:
Option Explicit
Private Sub Form_Load()
Text1.MaxLength = 15
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
On Error Resume Next
Dim Tecla As String
Tecla = Chr(KeyAscii)
If KeyAscii <> 8 Then 'Si no se selecciono la tecla de dirección, entramos
Select Case Tecla
Case "0" To "9" 'metemos a números de 0 a 9 en paquete de permitidos
If Len(Text1.Text) > 2 Then
'Si los últimos tres caracter son números...
If IsNumeric(Mid(Text1.Text, Len(Text1.Text), 1)) Then '1
If IsNumeric(Mid(Text1.Text, Len(Text1.Text) - 1, 1)) Then '2
If IsNumeric(Mid(Text1.Text, Len(Text1.Text) - 2, 1)) Then '3
KeyAscii = 0 'entonces no dejamos que introduzca otro
End If
End If
End If
End If
Case ".": 'Metemos al puntito entre los permitidos
'No permitimos puntos si el TextBox está vacio
If Text1.Text = "" Then KeyAscii = 0
'Acá no permitimos que se coloquen dos puntos seguidos _
si el caracter anterior es un punto, no permite que se inserte otro
If Right(Text1.Text, 1) = "." Then KeyAscii = 0
Case Else:
KeyAscii = 0
End Select
End If
End Sub 'by C@ssi@ni
Aparte de esto tenes que hacer muchas validaciones a la IP final, por ejemplo: cada byte del código (me refiero a la IP, claro está), debe estar entre 0 y 255, tenes que restringir el números de puntos que entran al textbox (obviamente solo pueden ser tres xxx.xxx.xxx.xxx) podes hacerlo usando un for hasta Len(text1.text) que vaya buscando y contando los puntos y que una vez estén completos los tres, no permita la entrada de otro mas (creo que va así, la verdad ya ni veo) otra cosa, también tenes que tratar el copy & paste porque sino se comerá cosas desagradable y le dará indigestión (todo eso es tarea para vos,
).
Saludos voy a dormir…