View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Chip Pearson Chip Pearson is offline
external usenet poster
 
Posts: 7,247
Default Detecting whether Caps Lock is set

Franco,

Try something like

Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As
Long) As Integer

Sub AAA()
Dim Res As Boolean
Res = GetKeyState(vbKeyCapital) And 1
Debug.Print Res 'True is CAPS LOCK, False is not
End Sub



--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com


"Franco Turrinelli" wrote in
message ...
I wonder if anyone can help me with this:

I have written a macro that the user can invoke using a
keyboard shortcut. The issue is that I would like the
macro to do something different depending on whether the
user presses "l" or Shift-"l" (i.e. "L"). Of course, if
the Caps Lock key is on, and the user does not notice, the
actions will be reversed. I'd like to be able, in the
macro, to test whether Caps Lock is set on.

Any thoughts? Sorry if this is a total "duh" question.