Câu hỏi

28/05/2013 07:43
Xin hỏi làm sao để trên thanh menu của Word xuất hiện một menu mớ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?
minhloc11
28/05/2013 07:43
Có thể đóng gói thành một file Setup được không?
Danh sách câu trả lời (1)

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.
'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.
Trả lời câu hỏi
Câu hỏi lĩnh vực Câu hỏi khác
Rao vặt Siêu Vip