lethanhnhan
Thành viên chính thức


- Tham gia
- 27/5/07
- Bài viết
- 76
- Được thích
- 249
Học tập từ các đọan code của người khác cũng là một cách học.
Tôi xin giới thiệu với các bạn đọan code của Add-in CBList. Nó sẽ giúp các bạn liệt kê các tên CommandBar, Control ID và Face ID. Nó sẽ giúp ích cho các bạn khi các bạn lập trình với CommandBar.
Các bạn có thể download từ:
http://www.oaltd.co.uk/mvp/Default.htm
Đầu tiên dựa vào sự kiện Open và BeforeClose để tạo và xóa Menu cho add-in
Lê Thanh Nhân
Tôi xin giới thiệu với các bạn đọan code của Add-in CBList. Nó sẽ giúp các bạn liệt kê các tên CommandBar, Control ID và Face ID. Nó sẽ giúp ích cho các bạn khi các bạn lập trình với CommandBar.
Các bạn có thể download từ:
http://www.oaltd.co.uk/mvp/Default.htm
Đầu tiên dựa vào sự kiện Open và BeforeClose để tạo và xóa Menu cho add-in
Mã:
Option Explicit
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''' Subroutine: Workbook_BeforeClose Event Procedure
'''
''' Purpose: Hides command bar CBList, if it exists
'''
''' Arguments: None
'''
''' Date Developer Action
''' --------------------------------------------------------------------------
''' 10 Jun 99 John Green Created
'''
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.CommandBars("CBList").Visible = False
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''' Subroutine: Workbook_Open Event Procedure
'''
''' Purpose: Creates new command bar CBList if it does not already exist.
''' If it does exist, the controls are processed to ensure that
''' their OnAction macros are the ones in the current workbook.
'''
'''
''' Arguments: None
'''
''' Date Developer Action
''' --------------------------------------------------------------------------
''' 10 Jun 99 John Green Created
'''
Private Sub Workbook_Open()
Dim cbList As CommandBar
Dim lngLeft As Long
Dim lngTop As Long
Dim lngPosition As Long
Dim i As Integer
On Error Resume Next
Set cbList = Application.CommandBars("CBList")
On Error GoTo 0
If cbList Is Nothing Then
Set cbList = Application.CommandBars.Add(Name:="CBList")
For i = 1 To 4
cbList.Controls.Add Type:=msoControlButton
Next i
End If
With cbList.Controls(1)
.OnAction = "ListAllControls"
.FaceId = 1826
.TooltipText = "List All CommandBar Controls"
End With
With cbList.Controls(2)
.OnAction = "ListAllFaces"
.FaceId = 2104
.TooltipText = "List All Built-in Button Faces"
End With
With cbList.Controls(3)
.OnAction = "ListPopups"
.FaceId = 3271
.TooltipText = "List All PopUp CommandBars"
End With
With cbList.Controls(4)
.OnAction = "ShowHelp"
.FaceId = 984
.TooltipText = "Brief explaination of CBList"
End With
cbList.Enabled = True
cbList.Visible = True
End Sub
Lê Thanh Nhân