
Pertanyaan ini muncul dari salah satu member dalam Group Excel. Apakah bisa kita mengaktifkan Casplock dan Numlock saat membuka File Excel. Untuk menjawab pertanyaan itu, kita harus tahu dulu apakah Capslock dan Numlock dalam keadaan Aktif atau tidak. ketika kita sudah mengetahuinya maka kita bisa mengkatifkan Capslock dan Numlock dengan perintah Application.sendkeys
Untuk mengetahui posisi atau keadaan kedua tombol tersebut, kita membutuhkan sedikit bantuan dari Wins API (Application Programming Interpace).
Siapakan sebuah modul untuk menyimpan Function dari WinAPI ini. lalu copy Code dibawah ini
Visual Basic EditorPrivate Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long)As Integer '// untuk Versi 64bit tambah Ptrsafe Private Const kCapital = 20 Private Const kNumlock = 144 Public Function CapsLock() As Boolean CapsLock = KeyState(kCapital) End Function Public Function NumLock() As Boolean NumLock = KeyState(kNumlock) End Function Private Function KeyState(lKey As Long) As Boolean KeyState = CBool(GetKeyState(lKey)) End Function
Untuk mengecek Kondisi Numlock dan Capslock bisa menggunakan IF contohnya
Visual Basic Editorif Capslock then 'code disimpan disini jika Casplock Aktif end if
Implementasi
Kembali kepertanyaan diatas, dimana User menginginkan Caspslock dan Numlock Aktif saat membuka File Excel. Kita bisa menambahkan sebuah kode kode kedalam Workbook_open berupa perintah Application.onKeys . contohnya
Visual Basic EditorPrivate sub Workbook_open() If Not CapsLock Then '//jika casplock tidak aktif Application.SendKeys "{CAPSLOCK}" End If If Not Numlock Then '//jika numlock tidak aktif Application.SendKeys "{NUMLOCK}" End If End Sub
Selain untuk kasus diatas, Implementasi dari WinApi ini juga bisa kita manfaatkan untuk membuat sebuah tanda atau petunjuk pada UserForm untuk Status kondisi Numlock dan Kondisi Capslock.
Leave a Reply