About Me

A minha foto
JRod - PORTUGAL
Microsoft [MVP] - Excel (10º ano consecutivo)
Ver o meu perfil completo
Com tecnologia do Blogger.

Seguidores

Estatisticas

Free Blog Counter

eXTReMe Tracker
2006-07-25
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



  • Tópicos relacionados:


  •   Num Lock, Caps Lock e Scroll Lock Toogle

      Windows API Functions