• Thứ Năm, 20/03/2008 10:00 (GMT+7)

    Tạo menu macro trong World 2003

    Câu hỏi :

    Tôi tạo một số Macro: Macro1, Macro2, Macro3... trong Word 2003. Xin hỏi làm sao để trên thanh menu của Word xuất hiện một menu mới ví dụ có tên: Macro chính có các menu con tên là nhiệm vụ 1, nhiệm vụ 2, nhiệm vụ 3... thực thi các tác vụ Macro1, Macro2, Macro3 khi click chuột vào?

    Có thể đóng gói thành một file Setup được không?


     



    Trả lời :

    Bạn có thể gọi tác vụ 'Add' của các đối tượng như CommandBars, CommandBar, CommandBarControls, CommandBarControl,... để tạo mới menu bar, menu popup, menu option,... Thí dụ thủ tục AddMenu sau đây sẽ tạo thêm 1 menu popup có tên là 'My Popup', trong menu popup này có 3 option, mỗi option thực hiện 1 macro tương ứng.
     'macro (thủ tục) xử lý option 1
     Sub Macro1()
     'thí dụ thông báo cho người dùng biết
     MsgBox 'Bạn vừa chọn chức năng 1'
     End Sub
     'macro (thủ tục) xử lý option 2
     Sub Macro2()
     'thí dụ thông báo cho người dùng biết
     MsgBox 'Bạn vừa chọn chức năng 2'
     End Sub
     'macro (thủ tục) xử lý option 3
     Sub Macro3()
     'thí dụ thông báo cho người dùng biết
     MsgBox 'Bạn vừa chọn chức năng 3'
     End Sub
     
     'macro (thủ tục) tạo menu popup và các option của nó
     Sub AddMenu()
     'định nghĩa các biến cần dùng
     Dim CommandBar As CommandBar
     Dim myPopup As CommandBarPopup
     Dim objCommandBarButton As CommandBarControl
     'Tìm menu bar của ứng dụng
     Set CommandBar = Application.CommandBars('Menu Bar')
     'Tạo menu popup mới trên menu bar
     Set myPopup = CommandBar.Controls.Add(msoControlPopup)
     myPopup.Caption = 'My Popup'
     'Tạo các menu option mới trên menu popup
     For i = 1 To 3
     Set objCommandBarButton = myPopup.Controls.Add(msoControlButton)
     'thiết lập các thuộc tính cho option mới
     With objCommandBarButton
     .Caption = 'Chuc nang ' & i
     .OnAction = 'Macro' & i
     .Tag = .Caption
     End With
     Next i
     End Sub

     Sau khi viết xong các thủ tục trên, bạn hãy chạy thủ tục (macro) AddMenu bằng cách chọn menu Tools.Macro.Macros, chọn mục AddMenu rồi chọn button Run. Sau khi thủ tục AddMenu chạy xong, bạn sẽ thấy 1 menu popup mới có tên là 'My Popup' phía bên phải trên thanh menu của ứng dụng (Word, Excel...). Và khi bạn chọn 1 trong các option của menu này, macro tương ứng sẽ chạy.

    Chuyên mục: Ứng dụng văn phòng