'---------------------------------------------------------
'
' DelInmediate
'
' Código escrito originalmente por Juan M Afán de Ribera.
' Estás autorizado a utilizarlo dentro de una aplicación
' siempre que esta nota de autor permanezca inalterada.
' En el caso de querer publicarlo en una página Web,
' por favor, contactar con el autor en
'
' accessvbafaq@ya.com
'
' Este código se brinda por cortesía de
' Juan M. Afán de Ribera
'
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
Private Declare Function GetKeyboardState Lib "user32" _
(kbArray As KeyboardBytes) As Long
Private Declare Sub keybd_event Lib "user32" _
(ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2
Sub DelInmediate()
Dim wnd As Object
Dim kbArray As KeyboardBytes
Dim State As Byte
For Each wnd In Application.VBE.Windows
If wnd.Type = 5 Then
GetKeyboardState kbArray
State = kbArray.kbByte(vbKeyNumlock)
If State Then
keybd_event vbKeyNumlock, 0, 0, 0
keybd_event vbKeyNumlock, 0, KEYEVENTF_KEYUP, 0
End If
wnd.SetFocus
keybd_event vbKeyControl, 0, 0, 0
keybd_event vbKeyHome, 0, 0, 0
keybd_event vbKeyHome, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyControl, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyShift, 0, 0, 0
keybd_event vbKeyControl, 0, 0, 0
keybd_event vbKeyEnd, 0, 0, 0
keybd_event vbKeyEnd, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyControl, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyShift, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyDelete, 0, 0, 0
keybd_event vbKeyDelete, 0, KEYEVENTF_KEYUP, 0
If State Then
keybd_event vbKeyNumlock, 0, 0, 0
keybd_event vbKeyNumlock, 0, KEYEVENTF_KEYUP, 0
End If
End If
Next
End Sub
'---------------------------------------------------------