About Me
Com tecnologia do Blogger.
Seguidores
Estatisticas
2006-07-25
VBA: CapsLock On ou Off
7:38 da tarde |
Publicada por
JRod - PORTUGAL |
Editar mensagem
Se pretenderemos que o que digitarmos, por exemplo numa InputBox, apareça em maiúsculas e o respectivo conteúdo apareça numa determinada célula também com a mesma condição, podemos utilizar, via VBA, funções API do Windows.
O Código:
Declare Function GetKeyboardState Lib "user32" _
(pbKeyState As Byte) As Long
Declare Function SetKeyboardState Lib "user32" _
(lppbKeyState As Byte) As Long
Sub Abrir()
Dim User As String
Dim Res As Long
Dim KBState(0 To 255) As Byte
Res = GetKeyboardState(KBState(0))
KBState(&H14) = 1 ' 1 para "on", 0 para "off"; &H14 (CapsLock) &H90 (NumLock)
Sheets("Progressivo").Select
Do While User = ""
User = InputBox(Prompt:="Digite o seu nome e Enter para continuar", Title:="Nome")
Loop
Range("O34").Select
ActiveCell.FormulaR1C1 = User
KBState(&H14) = 0 ' 1 para "on", 0 para "off"
Res = SetKeyboardState(KBState(0))
End Sub
Num Lock, Caps Lock e Scroll Lock Toogle
Windows API Functions