Vô hiệu hóa một số menu và nút trong Toolbar

Liên hệ QC

PhanTuHuong

VBA & VB.NET for Excel & AutoCad
Thành viên danh dự
Tham gia
13/6/06
Bài viết
7,178
Được thích
24,619
Có một số bạn rất quan tâm đến vấn đề vô hiệu hóa một số menu và nút trong Toolbar để giải quyết một số công việc nào đó. Ứng dụng này linh hoạt hơn chức năng protect là chỉ hạn chế một số chức năng.

Tôi xin giới thiệu 2 đoạn code để vô hiệu hóa nút Italic và menu Format Cells như sau:

Mã:
Sub An_nut_Italic()
  Dim DK As CommandBarControl
  For Each DK In Application.CommandBars(4).Controls
    If DK.Caption = "&Italic" Then
      DK.Enabled = False
      Exit Sub
    End If
  Next
End Sub


Mã:
Sub An_menu_FormatCell()
  Dim menus As CommandBarPopup
  Dim Itemmenu As CommandBarControl
  Set menus = Application.CommandBars(1).Controls(5)
  
  For Each Itemmenu In menus.Controls
    If Itemmenu.Caption = "C&ells..." Then
      Itemmenu.Enabled = False
    End If
  Next
End Sub


Để phục hồi chức năng thì trả lại thuộc tính Enabled = True.
 
Vô hiệu hoá Ctrl+I và Ctrl+1 thì làm sao nhỉ?

Ý tôi muốn hỏi việc vô hiệu hoá phím tắt. (Ctrl+1 = Format Cells)
 
Upvote 0
Đây chỉ là ví dụ thôi, bạn có thể vô hiệu hóa các menu hoặc nút toolbar khác.
 
Upvote 0
Đã gọi là "Vô hiệu hóa" thì phải cấm mọi thứ, kể cả chạy lệnh bằng phím tắt... Thế mới là "vô hiệu" chứ...
 
Upvote 0
anhtuan1066 đã viết:
Đã gọi là "Vô hiệu hóa" thì phải cấm mọi thứ, kể cả chạy lệnh bằng phím tắt... Thế mới là "vô hiệu" chứ...
Khoá phím, em nghĩ dùng Onkey cũng được mà. Thực tế yêu cầu thế nào em không rõ nhưng thấy có cần thiết thế không ?

Thân!
 
Upvote 0
Tất nhiên là cần thì người ta mới yêu cầu chứ... Lấy VD hôm trước uống cafe chúng ta có nói đến vấn đề làm cách nào vô hiệu hóa Cut và Copy.. Phước nhớ ko? Vô hiệu hóa phải đạt dc tiêu chuẩn là dù họ bấm phím tắt hay chạy lệnh trên menu cũng ko ăn thua... Chỉ khi nào ta chạy 1 code nào đó thì mọi chuyện mới trở lại bình thường...
Mến
ANH TUẤN
 
Upvote 0
Web KT

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

Back
Top Bottom