[Hỏi] Code kiểm tra trạng thái CAPSLOCK khi mở file excel? Nếu chưa ON thì bật lên

Liên hệ QC

phanminhphuong

Thành viên hoạt động
Tham gia
26/7/13
Bài viết
127
Được thích
68
Chào các bạn.

Xuất phát từ nhu cầu nhập liệu của mình (cũng có thể 1 số người) có thói quen hoặc bắt buộc phải nhập file nào đó với kiểu chữ phải là viết HOA. Xin các bạn vui long viết giúp Code để khi mở file excel thì CAPSLOCK luôn bật/ ON.

Mình nghĩ chắc chỉ có thể sử dụng hàm API. Mong mọi người chỉ dẫn hoặc cho hướng tìm hiểu/ tài liệu hướng dẫn

Xin cảm ơn.
 
Chào các bạn.

Xuất phát từ nhu cầu nhập liệu của mình (cũng có thể 1 số người) có thói quen hoặc bắt buộc phải nhập file nào đó với kiểu chữ phải là viết HOA. Xin các bạn vui long viết giúp Code để khi mở file excel thì CAPSLOCK luôn bật/ ON.

Mình nghĩ chắc chỉ có thể sử dụng hàm API. Mong mọi người chỉ dẫn hoặc cho hướng tìm hiểu/ tài liệu hướng dẫn

Xin cảm ơn.

Code ngắn gọn vầy thôi:
Mã:
Private Declare Function GetKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Const VK_CAPITAL = &H14
Sub Auto_Open()
  If GetKeyState(VK_CAPITAL) = 0 Then CreateObject("WScript.Shell").SendKeys "{CAPSLOCK}"
End Sub
 
Upvote 0
Chào các bạn.

Xuất phát từ nhu cầu nhập liệu của mình (cũng có thể 1 số người) có thói quen hoặc bắt buộc phải nhập file nào đó với kiểu chữ phải là viết HOA. Xin các bạn vui long viết giúp Code để khi mở file excel thì CAPSLOCK luôn bật/ ON.

Mình nghĩ chắc chỉ có thể sử dụng hàm API. Mong mọi người chỉ dẫn hoặc cho hướng tìm hiểu/ tài liệu hướng dẫn

Xin cảm ơn.
Một cách khác (sưu tầm). Mình nghĩ viết như thế này (theo như cách người dùng làm) cũng là 1 phương pháp hay để sử dụng API thao tác với bàn phím
Mã:
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, _
ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function GetKeyboardState Lib "user32" (pbKeyState As Byte) As Long

Const VK_CAPITAL = &H14
Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2

Dim keys(0 To 255) As Byte

Sub Auto_Open()    
    GetKeyboardState keys(0)         [COLOR=#0000cd]'Đọc trạng thái các phím vào danh sách[/COLOR]
    FCaps = keys(VK_CAPITAL) And 1   [COLOR=#0000cd]'xác địnnh trạng thái Capslock[/COLOR]
    If FCaps = 0 Then                [COLOR=#0000cd]'kiểm tra xem có Caplock không? nếu không có thì bật lên[/COLOR]
        [COLOR=#0000cd]'mô phỏng việc ấn phím Capslock[/COLOR]
    keybd_event VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0
        [COLOR=#0000cd]'mô phỏng việc nhả phím Capslock[/COLOR]
    keybd_event VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0
    End If
End Sub
 
Upvote 0
Web KT
Back
Top Bottom