Neste exemplo será mostrado como desabilitar todo o teclado do Excel, utilizano o método onkey que vai acionar uma macro vazia desabilitando as keys
segue código:
Option Explicit
Private Sub EnableKeyEnter(ByVal IsSetEnable As Boolean)
Dim iX As Long
Dim iY As Long
Dim iZ As Long
Dim KeyCode(1 To 19) As Variant
KeyCode(1) = Array _
("{UP}", "+{UP}", "^{UP}", "%{UP}", "+^{UP}", "+%{UP}", _
"{BS}", "+{BS}", "^{BS}", "%{BS}", "+^{BS}", "+%{BS}", _
"{TAB}", "+{TAB}", "^{TAB}", "%{TAB}", "+^{TAB}", "+%{TAB}", _
"{DEL}", "+{DEL}", "^{DEL}", "%{DEL}", "+^{DEL}", "+%{DEL}")
KeyCode(2) = Array _
("+{ESC}", "^{ESC}", "%{ESC}", "+^{ESC}", "+%{ESC}", _
"{END}", "+{END}", "^{END}", "%{END}", "+^{END}", "+%{END}", _
"{96}", "{97}", "{98}", "{99}", "{100}", "{101}", "{102}", "{103}", "{104}", "{105}", "{106}", "{107}", _
"{109}", "{110}", "{111}", "{19}")
KeyCode(3) = Array _
("{HOME}", "+{HOME}", "^{HOME}", "%{HOME}", "+^{HOME}", "+%{HOME}", _
"{PGDN}", "+{PGDN}", "^{PGDN}", "%{PGDN}", "+^{PGDN}", "+%{PGDN}", _
"{PGUP}", "+{PGUP}", "^{PGUP}", "%{PGUP}", "+^{PGUP}", "+%{PGUP}", _
"{DOWN}", "+{DOWN}", "^{DOWN}", "%{DOWN}", "+^{DOWN}", "+%{DOWN}")
KeyCode(4) = Array _
("{LEFT}", "+{LEFT}", "^{LEFT}", "%{LEFT}", "+^{LEFT}", "+%{LEFT}", _
"{RIGHT}", "+{RIGHT}", "^{RIGHT}", "%{RIGHT}", "+^{RIGHT}", "+%{RIGHT}", _
"{ENTER}", "+{ENTER}", "^{ENTER}", "%{ENTER}", "+^{ENTER}", "+%{ENTER}", "~", "+~", "^~", "%~", "+^~", "+%~", _
"{INSERT}", "+{INSERT}", "^{INSERT}", "%{INSERT}", "+^{INSERT}", "+%{INSERT}")
KeyCode(5) = Array _
("{F1}", "+{F1}", "^{F1}", "%{F1}", "+^{F1}", "+%{F1}", "{F2}", "+{F2}", "^{F2}", "%{F2}", "+^{F2}", "+%{F2}", _
"{F3}", "+{F3}", "^{F3}", "%{F3}", "+^{F3}", "+%{F3}", "{F4}", "+{F4}", "^{F4}", "%{F4}", "+^{F4}", "+%{F4}")
KeyCode(6) = Array _
("{F5}", "+{F5}", "^{F5}", "%{F5}", "+^{F5}", "+%{F5}", "{F6}", "+{F6}", "^{F6}", "%{F6}", "+^{F6}", "+%{F6}", _
"{F7}", "+{F7}", "^{F7}", "%{F7}", "+^{F7}", "+%{F7}", "{F8}", "+{F8}", "^{F8}", "%{F8}", "+^{F8}", "+%{F8}")
KeyCode(7) = Array _
("{F9}", "+{F9}", "^{F9}", "%{F9}", "+^{F9}", "+%{F9}", _
"{F10}", "+{F10}", "^{F10}", "%{F10}", "+^{F10}", "+%{F10}", _
"{F11}", "+{F11}", "^{F11}", "%{F11}", "+^{F11}", "+%{F11}", _
"{F12}", "+{F12}", "^{F12}", "%{F12}", "+^{F12}", "+%{F12}")
KeyCode(8) = Array _
("a", "+a", "^a", "%a", "+^a", "+%a", "b", "+b", "^b", "%b", "+^b", "+%b", _
"c", "+c", "^c", "%c", "+^c", "+%c", "d", "+d", "^d", "%d", "+^d", "+%d")
KeyCode(9) = Array _
("e", "+e", "^e", "%e", "+^e", "+%e", "f", "+f", "^f", "%f", "+^f", "+%f", _
"g", "+g", "^g", "%g", "+^g", "+%g", "h", "+h", "^h", "%h", "+^h", "+%h")
KeyCode(10) = Array _
("i", "+i", "^i", "%i", "+^i", "+%i", "j", "+j", "^j", "%j", "+^j", "+%j", _
"k", "+k", "^k", "%k", "+^k", "+%k", "l", "+l", "^l", "%l", "+^l", "+%l")
KeyCode(11) = Array _
("m", "+m", "^m", "%m", "+^m", "+%m", "n", "+n", "^n", "%n", "+^n", "+%n", _
"o", "+o", "^o", "%o", "+^o", "+%o", "p", "+p", "^p", "%p", "+^p", "+%p")
KeyCode(12) = Array _
("q", "+q", "^q", "%q", "+^q", "+%q", "r", "+r", "^r", "%r", "+^r", "+%r", _
"s", "+s", "^s", "%s", "+^s", "+%s", "t", "+t", "^t", "%t", "+^t", "+%t")
KeyCode(13) = Array _
("u", "+u", "^u", "%u", "+^u", "+%u", "v", "+v", "^v", "%v", "+^v", "+%v", _
"w", "+w", "^w", "%w", "+^w", "+%w", "x", "+x", "^x", "%x", "+^x", "+%x")
KeyCode(14) = Array _
("y", "+y", "^y", "%y", "+^y", "+%y", "z", "+z", "^z", "%z", "+^z", "+%z", _
"0", "+0", "^0", "%0", "+^0", "+%0", "1", "+1", "^1", "%1", "+^1", "+%1")
KeyCode(15) = Array _
("2", "+2", "^2", "%2", "+^2", "+%2", "3", "+3", "^3", "%3", "+^3", "+%3", _
"4", "+4", "^4", "%4", "+^4", "+%4", "5", "+5", "^5", "%5", "+^5", "+%5")
KeyCode(16) = Array _
("6", "+6", "^6", "%6", "+^6", "+%6", "7", "+7", "^7", "%7", "+^7", "+%7", _
"8", "+8", "^8", "%8", "+^8", "+%8", "9", "+9", "^9", "%9", "+^9", "+%9")
KeyCode(17) = Array _
(" ", "+ ", "^ ", "% ", "+^ ", "+% ", "-", "+-", "^-", "%-", "+^-", "+%-", _
"", "+", "^", "%", "+^", "+%", "@", "+@", "^@", "%@", "+^@", "+%@")
KeyCode(18) = Array _
(";", "+;", "^;", "%;", "+^;", "+%;", ":", "+:", "^:", "%:", "+^:", "+%:", _
"{^}", "+{^}", "^{^}", "%{^}", "+^{^}", "+%{^}", "{[}", "+{[}", "^{[}", _
"%{[}", "+^{[}", "+%{[}")
KeyCode(19) = Array _
("{]}", "+{]}", "^{]}", "%{]}", "+^{]}", "+%{]}", "{,}", "+{,}", "^{,}", _
"%{,}", "+^{,}", "+%{,}", "{.}", "+{.}", "^{.}", "%{.}", "+^{.}", "+%{.}", _
"{/}", "+{/}", "^{/}", "%{/}", "+^{/}", "+%{/}", "{_}", "^{_}", "%{_}")
With Application
If IsSetEnable Then
For iX = 1 To 19
iZ = UBound(KeyCode(iX))
For iY = LBound(KeyCode(iX)) To iZ
.OnKey KeyCode(iX)(iY)
Next
Next
Else
For iX = 1 To 19
iZ = UBound(KeyCode(iX))
For iY = LBound(KeyCode(iX)) To iZ
.OnKey KeyCode(iX)(iY), "DisableKeyEnter"
Next
Next
End If
End With
End Sub
Sub DisableKeyEnter()
'Sub vazia que vai ser executada pelo metodo onkey mas não fará nada...
End Sub
'Habilitando teclado
Sub keyOn()
EnableKeyEnter True
End Sub
'Desabilitando teclado
Sub KeyOff()
EnableKeyEnter False
End Sub
By Mitsueda.
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel