AW: Makro dem Schaltflächenbild per VBA zuweisen
25.11.2010 11:33:58
Rudi
Hallo,
1. völlig neu erstellen
2. löschen
Mal als Beispiel
In DieseArbeitsmappe:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
CreateMenu False
End Sub
Private Sub Workbook_Open()
CreateMenu True
End Sub
In ein Modul:
Sub CreateMenu(blnCreate As Boolean)
Dim oCBar As CommandBar
Const strCBName As String = "MeineMakros"
On Error Resume Next
Application.CommandBars(strCBName).Delete
On Error GoTo 0
If blnCreate Then
Set oCBar = Application.CommandBars.Add(strCBName, msoBarTop, False, True)
CreateButton oCBar, "Makro1"
CreateButton oCBar, "Makro2", "Button2", True
'und so weiter
oCBar.Visible = True
End If
End Sub
Sub CreateButton(oCBar As CommandBar, strOnAction As String, Optional strCaption, Optional _
blnGroup As Boolean = False)
Dim oBtn As CommandBarButton
If IsMissing(strCaption) Then strCaption = strOnAction
Set oBtn = oCBar.Controls.Add(msoControlButton, 1, , , True)
With oBtn
.Caption = strCaption
.OnAction = strOnAction
.Style = msoButtonCaption
.BeginGroup = blnGroup
End With
End Sub
Gruß
Rudi