Làm sao để menu bar tự chạy khi nạp add-in?

  • Thread starter Thread starter Trojan
  • Ngày gửi Ngày gửi
Liên hệ QC

Trojan

Thành viên hoạt động
Tham gia
13/3/08
Bài viết
162
Được thích
78
Tôi tạo một file add-in trong đó có sử dụng menu bar để tạo thanh công cụ và shortcut cho tác vụ trong add-in của tôi. Tuy nhiên khi nạp add-in vào thì tôi phải làm thủ công là vào đoạn code tạo menu để chạy thì mới có shortcut trên thanh công cụ. Như vậy việc bảo vệ code là không dùng được. Có cách nào để bảo vệ code và khi người khác nạp add-in vào thì shortcut đã khởi động sẵn trên thanh công cụ rồi không? Xin cảm ơn các mem.
 
Tôi tạo một file add-in trong đó có sử dụng menu bar để tạo thanh công cụ và shortcut cho tác vụ trong add-in của tôi. Tuy nhiên khi nạp add-in vào thì tôi phải làm thủ công là vào đoạn code tạo menu để chạy thì mới có shortcut trên thanh công cụ. Như vậy việc bảo vệ code là không dùng được. Có cách nào để bảo vệ code và khi người khác nạp add-in vào thì shortcut đã khởi động sẵn trên thanh công cụ rồi không? Xin cảm ơn các mem.
Sửa tên Sub thành Sub Auto_Open() thử xem (sub này phải đặt trong module)
 
Upvote 0
Cảm ơn bác ndu rất nhiều. Tuy nhiên mỗi lần mở excel ra nó lại tạo ra một shortcut bar. Làm sao để xoá nó? Xin gửi đây đoạn code các mem xem giúp.
PHP:
Sub Auto_Open()
Dim Ten_Menu As CommandBarButton
Dim Ten_Menu1 As CommandBarButton
Set Ten_Menu = Application.CommandBars("Worksheet Menu Bar").Controls.Add
Set Ten_Menu1 = Application.CommandBars("Worksheet Menu Bar").Controls.Add
With Ten_Menu
.Caption = "EndofPageBorder"
.FaceId = 1552
.BeginGroup = True
.Style = msoButtonCaption
.OnAction = "Footer_Border"
End With
With Ten_Menu1
.Caption = "AutofitRowHeight"
.FaceId = 15
.BeginGroup = True
.Style = msoButtonCaption
.OnAction = "Autofit"
End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Đề tài này của tôi không có giải pháp sao các mem?
 
Upvote 0
Đề tài này của tôi không có giải pháp sao các mem?
Bạn nói thế này:
mỗi lần mở excel ra nó lại tạo ra một shortcut bar. Làm sao để xoá nó? Xin gửi
Có hiểu Shortcut bar nó là cái gì đâu mà giúp? Hay ý bạn muốn nói rằng mỗi lần mở file là nó lại thêm 2 menu tự tao? Nếu đúng vậy thì chỉ cần thêm đoạn này vào đầu code
PHP:
CommandBars("Worksheet Menu Bar").Reset
Có nghĩa là Reset menu bar trước, xong mới tạo ra My Menu
Code sửa lại:
PHP:
Sub Auto_Open()
  With CommandBars("Worksheet Menu Bar")
    .Reset
    With .Controls.Add
      .Caption = "EndofPageBorder"
      .FaceId = 1552
      .BeginGroup = True
      .Style = msoButtonCaption
      .OnAction = "Footer_Border"
    End With
    With .Controls.Add
      .Caption = "AutofitRowHeight"
      .FaceId = 15
      .BeginGroup = True
      .Style = msoButtonCaption
      .OnAction = "Autofit"
    End With
  End With
End Sub
Ah... mà cái FaceId = 1552FaceId = 15 là để làm gì vậy ta? Menu thì làm gì có biểu tượng? Theo tôi thì code chỉ vầy là đủ
PHP:
Sub Auto_Open()
  With CommandBars("Worksheet Menu Bar")
    .Reset
    With .Controls.Add(10, , , , 1)
      .Caption = "EndofPageBorder"
      .BeginGroup = True
      .OnAction = "Footer_Border"
    End With
    With .Controls.Add(10, , , , 1)
      .Caption = "AutofitRowHeight"
      .BeginGroup = True
      .OnAction = "Autofit"
    End With
  End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Thanks bác ndu, cái này đúng ý tôi rồi. Tôi thêm cái FaceID vào để nó hiện ra biểu tượng cho shortcut mà.
 
Upvote 0
Bác ndu96081631 cho hỏi thêm về vấn đề cái menu này cái. Vấn đề là chạy khởi động theo code của bác rất hay, nhưng cứ khi người dùng bấm ctrl+f2 thì menu lại biến mất. Trường hợp này chỉ xuất hiện với người không dùng thêm 1 add-in nào khác, còn người dùng thêm một vài add-in có các code về menu thì không có gì xảy ra. Mong giúp đỡ từ các thành viên cùng mem ndu96081631. Xin cảm ơn trước.
 
Upvote 0
Bác ndu96081631 cho hỏi thêm về vấn đề cái menu này cái. Vấn đề là chạy khởi động theo code của bác rất hay, nhưng cứ khi người dùng bấm ctrl+f2 thì menu lại biến mất. Trường hợp này chỉ xuất hiện với người không dùng thêm 1 add-in nào khác, còn người dùng thêm một vài add-in có các code về menu thì không có gì xảy ra. Mong giúp đỡ từ các thành viên cùng mem ndu96081631. Xin cảm ơn trước.
Sau lại liên quan đến Ctrl + F2 nhỉ? Tôi không hiểu
 
Upvote 0
Ctrl+F2 là chế độ view trước khi in ạ.
 
Upvote 0
Ctrl+F2 là chế độ view trước khi in ạ.
Ý tôi muốn nói rằng không biết code của bạn có liên quan gì đến phím tắt này không ấy. Xem kỹ lại đi
Chứ không thì người ta Preview cái là mất Add-In à? Vô lý!
Bạn có thể thí nghiệm bằng cách xóa bớt code, xem đến khi nào thì hết bị tình trạng này (loại trừ và suy luận thôi)
 
Upvote 0
Web KT

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

Back
Top Bottom