SendChars - Envoyer des Caractères (VS SendKeys)

Contenu du snippet

Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function MapVirtualKey Lib "user32.dll" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long
Private Const KEYEVENTF_KEYUP As Long = &H2
Private Const VK_LMENU As Long = &HA4
Private Const VK_NUMPAD0 = &H60

Private Sub SendChars(ByRef vsChars As String)
Dim i As Long
Dim sAsc As String
Dim iAsc As Long
Dim nKey As Long
  For i = 1 To Len(vsChars)
      keybd_event VK_LMENU, 0, 0, 0
      
      sAsc = "0" & Asc(Mid$(vsChars, i, 1))
      For iAsc = 1 To Len(sAsc)
          nKey = VK_NUMPAD0 + Mid$(sAsc, iAsc, 1)
          keybd_event nKey, MapVirtualKey(nKey, 0), 0, 0
          keybd_event nKey, MapVirtualKey(nKey, 0), KEYEVENTF_KEYUP, 0
      Next iAsc
      keybd_event VK_LMENU, 0, KEYEVENTF_KEYUP, 0
  Next i
End Sub 

Compatibilité : VB6, VBA

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.