ENABLED nút lệnh trên Ribbon tự tạo khi không thỏa điều kiện? (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

nqdn2010

Optimal Сasual Dating - Actual Girls
Tham gia
22/2/12
Bài viết
267
Được thích
15
Giới tính
Nam
Nghề nghiệp
Health
Xin hỏi cách nào làm cho nút lệnh trên Ribbon tự tạo ENABLED=true hoặc false khi không thỏa mãn điều kiện?
Trong file đính kèm có nội dung cần hỗ trợ.
 

File đính kèm

Lần chỉnh sửa cuối:
" - F1=1 => Tất cả các nút đều ENABLED =false
- F1=2 => Tất cả các nút đều ENABLED =true
- F1=3 => Thì các nút lện 4,5,8,9 ENABLED =false
- F1=4 => Thì các nút lện 4,5,8,9 ENABLED =true
. . . ."
Thế nếu F1 = 1,5 thì ENABLED =false hay ENABLED =true?
Thôi tự bạn xét điều kiện nhé.

1. Trong tập tin XML bạn thêm cho mỗi button đoạn getEnabled="getEnabledControl"

2. Trong Module thêm sub
Mã:
Sub getEnabledControl(control As IRibbonControl, ByRef enabled)
    Select Case control.ID
        Case "BUTT1": enabled = True   '  = False      ' <-- Đây là ví dụ trả về
        Case "BUTT2":
        Case "BUTT3": 
        Case "BUTT4":
        Case "BUTT5":                             
        Case "BUTT6":                            
        Case "BUTT7":                             
        Case "BUTT8":                             
        Case "BUTT9":                             
        Case "BUTT10":                            
    End Select
End Sub

3. Lúc nào bạn cần thiết lập Enabled thì gọi dòng lệnh
Mã:
    MyRIBBON.Invalidate

Invalidate sẽ gọi getEnabledControl lần lượt cho từng control với mục đích lấy trạng thái của control. Chính vì thế nên trong getEnabledControl bạn tự xét điều kiện và căn cứ vào đó mà trả về enabled = True hoặc False.

Bạn cũng không nói là khi nào bạn muốn thiết lập Enabled. Nếu bạn muốn vd. khi Sheet1!F1 thay đổi thì các button "tự động" enabled hoặc disabled thì bạn phải có code
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)

End Sub
trong module Sheet1. Và trong code đó bạn kiểm tra xem Target có chứa F1 không. Nếu có thì gọi
Mã:
    MyRIBBON.Invalidate
---------------
Chương trình bạn dùng không phục vụ unicode (tiếng Việt) à?
 
Upvote 0
Cám ơn bạn để mình test thử báo cáo kết quả sao
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom