Puede que el Win7 no te admita el sendkeys por temas de seguridad.
Quizá puedas usando keybd_event.
Código vb:
Ver originalPrivate Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
keybd_event vbKeyTab, 1, 0, 0
keybd_event vbKeyTab, 1, 6, 0
KeyAscii = 0
End If
If KeyAscii = 27 Then
Unload Me
End If
End Sub
En caso de persistir el problema yo veo 2 opciones:
1º si cada elemento por el que tienes que pasar tiene un nombre diferente tendrás que poner el código en todos los eventos keypress:
Código vb:
Ver originalPrivate Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text2.SetFocus
KeyAscii = 0
End If
If KeyAscii = 27 Then
Unload Me
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text3.SetFocus
KeyAscii = 0
End If
If KeyAscii = 27 Then
Unload Me
End If
End Sub
'etc...
'y en el ultimo textbox dentras que ir al boton aceptar supongo
Private Sub Text15_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
btnAceptar.SetFocus
KeyAscii = 0
End If
If KeyAscii = 27 Then
Unload Me
End If
End Sub
2º Sin embargo si tienes una matriz de textbox lo tienes mas facil:
Código vb:
Ver originalPrivate Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
If KeyAscii = 13 Then
If Index = Ubound(Text1) Then
btnAceptar.SetFocus
Else
Text1(Index + 1).SetFocus
End If
KeyAscii = 0
End If
If KeyAscii = 27 Then
Unload Me
End If
End Sub
Saludos