• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

caps lock

Status
Niet open voor verdere reacties.

Joske2000

Terugkerende gebruiker
Lid geworden
19 sep 2006
Berichten
1.199
Hallo,

Wij scannen een barcode in, zodat deze in Excel verwerkt kan worden.
Nu wordt de barcode alleen goed gescand als casp-lock is ingesteld.
Ik kan de VBA-code niet vinden om te kijken of deze aan staat.
Kan iemand mij hierbij helpen ?

Bedankt,

Joske
 
Miscchien heb je hier wat aan in bericht #3
 
Hi Jackall,

Nee, deze had ik al gevonden.
Deze wijzigt de letters van Lowercase naar Upercase, maar dit werkt niet met de barcodes (cijfers).
Als ik dus de barcode scan zonder capslock geeft hij "(" ipv 5.
De code op Mr Excel lost mijn probleem niet op.

Toch bedankt voor het meedenken.

Joske
 
Hallo,

Gevonden ! (Deze zet sowieso de caps-lock aan, wat uiteraard ook ok is).

Voor zij die interesse hebben, hierbij de code :

Code:
Option Explicit

Const NumLock_On = &H20
Const ScrollLock_On = &H40
Const CapsLock_On = &H80
Const vk_Scroll = &H91

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 GetKeyState _
  Lib "user32.dll" _
    (ByVal nVirtKey As Long) As Long

Sub KeyLock(myKey As String, State As Boolean)
 'State=True means to press key if state is off
 'myKey must be: Num, Scroll, or Caps as String type.

  Select Case True
    Case myKey Like "Num"
      If State <> CBool(GetKeyState(vbKeyNumlock)) Then PressKey (vbKeyNumlock)
    Case myKey Like "Scroll"
      If State <> CBool(GetKeyState(vk_Scroll)) Then PressKey (vk_Scroll)
    Case myKey Like "Caps"
      If State <> CBool(GetKeyState(vbKeyCapital)) Then PressKey (vbKeyCapital)
  End Select
  
End Sub

Sub PressKey(theKey As Long)
  keybd_event theKey, 0, 0, 0 'press key
  keybd_event theKey, 0, &H2, 0 'release key
End Sub

Allen bedankt voor het meedenken,

Joske
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan