I pasted your code in and added this to my programming>
If Not IsNumLockOn Then
SendKeys "{numlock}", True
DoEvents
End If
But nothing happens (it doesn't turn NumLock back on). Does it make a
difference that I am using Excel 2003?
I am using this because I am doing a lot of interaction with another
non-Office program using SendKeys, and occasionally it turns off the NumLock,
even using DoEvents.
"Rick Rothstein" wrote:
> I'm not sure what code you looked at, but I don't think the test for the
> NumLock being on or off is *that* complicated. Copy/paste this code into a
> Module (Insert/Module from the VB editor's menu bar)...
>
> ' *************** START OF CODE ***************
> Private Declare Function GetKeyboardState Lib "user32" _
> (pbKeyState As Byte) As Long
>
> Private Const VK_NUMLOCK = &H90
>
> Public Function IsNumLockOn() As Boolean
> Dim bytKeys(255) As Byte
> GetKeyboardState bytKeys(0)
> IsNumLockOn = bytKeys(VK_NUMLOCK)
> End Function
> ' *************** END OF CODE ***************
>
> To use it, simple call the IsNumLockOn function... it will return True if
> the NumLock is on and False if it is not on.
>
> If IsNumLockOn Then
> MsgBox "The NumLock is on!"
> Else
> MsgBox "The NumLock is not on."
> End If
>
> --
> Rick (MVP - Excel)
>
>
> "Steve" <(E-Mail Removed)> wrote in message
> news:9FA5D151-645E-48BA-9246-(E-Mail Removed)...
> > I've seen the programming test for NumLock and it appears pretty
> > complicated.
> > Would it be possible for a macro to simulate pressing the 5 key on the
> > number pad to see what the result is? If you get a 5, NumLock would be
> > on,
> > if you get nothing, NumLock would be off.
> >
> > I have tried this with SendKeys and all I get is 101 > the code for the
> > key.
>
>
|