Hỏi về tạo phím tắt ALT+... cho các thủ tục trong VBA.

Liên hệ QC

VADaNang

Thành viên chính thức
Tham gia
4/12/06
Bài viết
65
Được thích
47
Trong khi gán phím tắt cho các thủ tục VBA tôi thấy nó mặc định Ctrl (hoặc Ctrl Shift) + Chữ nào đó (ngoại trừ số và các phím f1,f2 ....)
Có cách nào gắn các thủ tục cho phím tắt Alt + 1 ký tự nào đó (kể cả chữ và số) được không?
Xin cám ơn.
 
Được chứ bạn
Ta dùng phương thức onkey của đối tượng Application
Application.Onkey(key, Procedure)
Key: Phím hoặc tổ hợp phím(lưu ý bạn phải để trong dấu nháy kép "")
Procedure: Tên thủ tục(Để trong dấu nháy kép nhé)

Phím Alt: %
Phím Ctrl: ^
phím Shift: +
......
VD:
sub setkey()
Application.Onkey Key:="%q", Procedure="ancom"
end sub
sub ancom()
'An thoi
end sub
Nếu muốn vô hiệu phoá phím được gán này bạn cho Procedure:=""
Application.Onkey key:="%q" procedure:=""

Chúc thành công
 
Onkey này sử dụng cho đối tượng form được không 'dangyeu chậm như rùa' ?
 
Có lẽ bạn chưa hiểu thấu đáo mô hình đối tượng trong lập trình
Phương thức và thuộc tính là thành phần trong 1 đối tượng, muốn sử dụng một phương thức nào đó thì nó phải tồn tại trong đối tượng bạn muốn tác động.
mà trong đối tượng form không có phương thức onkey
Nhưng vẫn có nhiều cách để tạo phím tắt trên form đơn giản hơn nhiều như tạo các phím tắt cho nhãn, dùng sự kiện keypress, keyup, keydown...
 
Chào bạn “Ruadangyeu”.
Cho hỏi thêm một tí.
Tại Procedure: ="ancom" có truyền được tham số cho thủ tục này được không?
Sub ancom(i as byte)
.....
end sub
Cám ơn.
 
thì bạn VADaNang thử viết sub có tham số đi, được hay không hiết liền

sub ancom (sochen as integer)
select case sochen
case 1 : msg = "Ban an it qua vay!"
case 2 : msg = "Chua du no ban oi!"
case 3 : msg = "Choa no roi!"
case 4 : msg = "Nam thuc nhu ho, nu thuc nhu nam."
end select
msgbox msg
end sub
 
Web KT
Back
Top Bottom