MenüPunkt einfärben
17.05.2009 21:23:11
Mario
Hier mein BeispielMakro (zum Füllen von Autoformen)
(das Makro soll später noch in ein PowerPointAddIn, bis auf das erstellen des Menüs dürfte es keine Unterschiede geben.)
Sub ColorMenu()
Dim CmdBar As CommandBar
Dim CmdBarPop0 As CommandBarPopup
Dim CmdBarPop1 As CommandBarPopup
Dim vArrRAL() As Variant
A1 = 2050
A2 = 3009
A3 = 3583
C1 = RGB(255, 128, 0)
C2 = RGB(135, 128, 55)
C3 = RGB(55, 128, 255)
vArrRAL = Array(A1, A2, A3)
vArrRGB = Array(C1, C2, C3)
Set CmdBar = Application.CommandBars(1)
DeleteColors
Set CmdBarPop0 = CmdBar.Controls.Add(Type:=msoControlPopup, _
Before:=CmdBar.Controls.Count, _
Temporary:=True)
CmdBarPop0.Caption = "&Colors"
Set CmdBarPop1 = CmdBarPop0.Controls.Add(msoControlPopup)
CmdBarPop1.Caption = "Standard-Farben"
For iCount = 0 To 2 '...17 (18 Farben)
With CmdBarPop1.Controls.Add
.Caption = "RAL " & vArrRAL(iCount)
.OnAction = "FillColor" & iCount
'.FaseID = 284 '=> hier wird normalerweise das Symbol übergeben
' ich möchte gern ein Symbol in einer bestimmten RGB-Farbe (vArrRGB)
' oder den Hintergrund des MenüPunktes in der entprechenden Farbe
' so etwa hatte ich es mir vorgestellt
'.FaceId = vArrRGB(iCount)
.FaceId = RGB(255, 0, 0)
'leider Funktioniert es so nicht
End With
Next iCount
End Sub
Sub DeleteColors()
On Error Resume Next
Application.CommandBars(1).Controls("Colors").Delete
End Sub
MfG Mario