Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I know how to make custom toolbars in Excel and through VBA. Is it possible
to make popup menus within a toolbar that are floatable (similar to the font and cell color pallettes)? Thanks, Pflugs |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Just for ideas -
Sub CustomBar() Dim cbr As CommandBar Dim cbt As CommandBarButton On Error Resume Next Application.CommandBars("TestBar").Delete On Error GoTo 0 Set cbr = Application.CommandBars.Add("TestBar") Set cbt = cbr.Controls.Add(1) With cbt .Style = msoButtonCaption .Caption = "click for Pop-up" .Visible = True .OnAction = "myPopup" End With cbr.Position = msoBarFloating cbr.Visible = True End Sub Sub myPopup() Dim cbr As CommandBar Dim cbt As CommandBarButton On Error Resume Next CommandBars("myPopup").Delete On Error GoTo 0 Set cbr = Application.CommandBars.Add("myPopup", msoBarPopup, , True) For i = 80 To 89 Set cbt = cbr.Controls.Add(1, , , , True) With cbt .Style = msoButtonIconAndCaption .Caption = "code " & Chr(i - 15) .FaceId = i .Parameter = i - 79 .Visible = True .OnAction = "myMacro" End With Next On Error GoTo errH cbr.ShowPopup done: cbr.Delete Exit Sub errH: Resume done End Sub Sub MyMacro() Dim cbt As CommandBarButton Dim sParam As String Set cbt = Application.CommandBars.ActionControl sParam = cbt.Parameter MsgBox "button " & sParam, , cbt.Caption Select Case sParam Case "1" MsgBox "processing code " & sParam 'etc End Select End Sub Regards, Peter T "Pflugs" wrote in message ... I know how to make custom toolbars in Excel and through VBA. Is it possible to make popup menus within a toolbar that are floatable (similar to the font and cell color pallettes)? Thanks, Pflugs |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Should include 'OnError Resume Next' just after 'done:'
On Error GoTo errH cbr.ShowPopup done: OnError Resume Next ' add this line cbr.Delete Exit Sub errH: Resume done End Sub Peter T On Error Resume Next cbr.ShowPopup "Peter T" <peter_t@discussions wrote in message ... Just for ideas - Sub CustomBar() Dim cbr As CommandBar Dim cbt As CommandBarButton On Error Resume Next Application.CommandBars("TestBar").Delete On Error GoTo 0 Set cbr = Application.CommandBars.Add("TestBar") Set cbt = cbr.Controls.Add(1) With cbt .Style = msoButtonCaption .Caption = "click for Pop-up" .Visible = True .OnAction = "myPopup" End With cbr.Position = msoBarFloating cbr.Visible = True End Sub Sub myPopup() Dim cbr As CommandBar Dim cbt As CommandBarButton On Error Resume Next CommandBars("myPopup").Delete On Error GoTo 0 Set cbr = Application.CommandBars.Add("myPopup", msoBarPopup, , True) For i = 80 To 89 Set cbt = cbr.Controls.Add(1, , , , True) With cbt .Style = msoButtonIconAndCaption .Caption = "code " & Chr(i - 15) .FaceId = i .Parameter = i - 79 .Visible = True .OnAction = "myMacro" End With Next On Error GoTo errH cbr.ShowPopup done: cbr.Delete Exit Sub errH: Resume done End Sub Sub MyMacro() Dim cbt As CommandBarButton Dim sParam As String Set cbt = Application.CommandBars.ActionControl sParam = cbt.Parameter MsgBox "button " & sParam, , cbt.Caption Select Case sParam Case "1" MsgBox "processing code " & sParam 'etc End Select End Sub Regards, Peter T "Pflugs" wrote in message ... I know how to make custom toolbars in Excel and through VBA. Is it possible to make popup menus within a toolbar that are floatable (similar to the font and cell color pallettes)? Thanks, Pflugs |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
That's really neat and definitely useful. Any idea on how to make that popup
menu moveable and remain on the screen when you click away? "Peter T" wrote: Should include 'OnError Resume Next' just after 'done:' On Error GoTo errH cbr.ShowPopup done: OnError Resume Next ' add this line cbr.Delete Exit Sub errH: Resume done End Sub Peter T On Error Resume Next cbr.ShowPopup "Peter T" <peter_t@discussions wrote in message ... Just for ideas - Sub CustomBar() Dim cbr As CommandBar Dim cbt As CommandBarButton On Error Resume Next Application.CommandBars("TestBar").Delete On Error GoTo 0 Set cbr = Application.CommandBars.Add("TestBar") Set cbt = cbr.Controls.Add(1) With cbt .Style = msoButtonCaption .Caption = "click for Pop-up" .Visible = True .OnAction = "myPopup" End With cbr.Position = msoBarFloating cbr.Visible = True End Sub Sub myPopup() Dim cbr As CommandBar Dim cbt As CommandBarButton On Error Resume Next CommandBars("myPopup").Delete On Error GoTo 0 Set cbr = Application.CommandBars.Add("myPopup", msoBarPopup, , True) For i = 80 To 89 Set cbt = cbr.Controls.Add(1, , , , True) With cbt .Style = msoButtonIconAndCaption .Caption = "code " & Chr(i - 15) .FaceId = i .Parameter = i - 79 .Visible = True .OnAction = "myMacro" End With Next On Error GoTo errH cbr.ShowPopup done: cbr.Delete Exit Sub errH: Resume done End Sub Sub MyMacro() Dim cbt As CommandBarButton Dim sParam As String Set cbt = Application.CommandBars.ActionControl sParam = cbt.Parameter MsgBox "button " & sParam, , cbt.Caption Select Case sParam Case "1" MsgBox "processing code " & sParam 'etc End Select End Sub Regards, Peter T "Pflugs" wrote in message ... I know how to make custom toolbars in Excel and through VBA. Is it possible to make popup menus within a toolbar that are floatable (similar to the font and cell color pallettes)? Thanks, Pflugs |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Upon some futher testing, I found that the type of control I'm talking about
is msoControlSplitButtonPopup. I can create these as long as they have predefined ID's. I can't figure out how to create them from scratch and add my own controls to them. Anyone have any thoughts? Thanks, Pflugs "Peter T" wrote: Should include 'OnError Resume Next' just after 'done:' On Error GoTo errH cbr.ShowPopup done: OnError Resume Next ' add this line cbr.Delete Exit Sub errH: Resume done End Sub Peter T On Error Resume Next cbr.ShowPopup "Peter T" <peter_t@discussions wrote in message ... Just for ideas - Sub CustomBar() Dim cbr As CommandBar Dim cbt As CommandBarButton On Error Resume Next Application.CommandBars("TestBar").Delete On Error GoTo 0 Set cbr = Application.CommandBars.Add("TestBar") Set cbt = cbr.Controls.Add(1) With cbt .Style = msoButtonCaption .Caption = "click for Pop-up" .Visible = True .OnAction = "myPopup" End With cbr.Position = msoBarFloating cbr.Visible = True End Sub Sub myPopup() Dim cbr As CommandBar Dim cbt As CommandBarButton On Error Resume Next CommandBars("myPopup").Delete On Error GoTo 0 Set cbr = Application.CommandBars.Add("myPopup", msoBarPopup, , True) For i = 80 To 89 Set cbt = cbr.Controls.Add(1, , , , True) With cbt .Style = msoButtonIconAndCaption .Caption = "code " & Chr(i - 15) .FaceId = i .Parameter = i - 79 .Visible = True .OnAction = "myMacro" End With Next On Error GoTo errH cbr.ShowPopup done: cbr.Delete Exit Sub errH: Resume done End Sub Sub MyMacro() Dim cbt As CommandBarButton Dim sParam As String Set cbt = Application.CommandBars.ActionControl sParam = cbt.Parameter MsgBox "button " & sParam, , cbt.Caption Select Case sParam Case "1" MsgBox "processing code " & sParam 'etc End Select End Sub Regards, Peter T "Pflugs" wrote in message ... I know how to make custom toolbars in Excel and through VBA. Is it possible to make popup menus within a toolbar that are floatable (similar to the font and cell color pallettes)? Thanks, Pflugs |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I don't think there's any straightforward way to create this type of
control, or indeed various others. Depending on what you want to achieve perhaps a cascading menu system (popup controls rather than popup bars) or even add some more 'squarish' commandbars. Regards, Peter T "Pflugs" wrote in message ... Upon some futher testing, I found that the type of control I'm talking about is msoControlSplitButtonPopup. I can create these as long as they have predefined ID's. I can't figure out how to create them from scratch and add my own controls to them. Anyone have any thoughts? Thanks, Pflugs "Peter T" wrote: Should include 'OnError Resume Next' just after 'done:' On Error GoTo errH cbr.ShowPopup done: OnError Resume Next ' add this line cbr.Delete Exit Sub errH: Resume done End Sub Peter T On Error Resume Next cbr.ShowPopup "Peter T" <peter_t@discussions wrote in message ... Just for ideas - Sub CustomBar() Dim cbr As CommandBar Dim cbt As CommandBarButton On Error Resume Next Application.CommandBars("TestBar").Delete On Error GoTo 0 Set cbr = Application.CommandBars.Add("TestBar") Set cbt = cbr.Controls.Add(1) With cbt .Style = msoButtonCaption .Caption = "click for Pop-up" .Visible = True .OnAction = "myPopup" End With cbr.Position = msoBarFloating cbr.Visible = True End Sub Sub myPopup() Dim cbr As CommandBar Dim cbt As CommandBarButton On Error Resume Next CommandBars("myPopup").Delete On Error GoTo 0 Set cbr = Application.CommandBars.Add("myPopup", msoBarPopup, , True) For i = 80 To 89 Set cbt = cbr.Controls.Add(1, , , , True) With cbt .Style = msoButtonIconAndCaption .Caption = "code " & Chr(i - 15) .FaceId = i .Parameter = i - 79 .Visible = True .OnAction = "myMacro" End With Next On Error GoTo errH cbr.ShowPopup done: cbr.Delete Exit Sub errH: Resume done End Sub Sub MyMacro() Dim cbt As CommandBarButton Dim sParam As String Set cbt = Application.CommandBars.ActionControl sParam = cbt.Parameter MsgBox "button " & sParam, , cbt.Caption Select Case sParam Case "1" MsgBox "processing code " & sParam 'etc End Select End Sub Regards, Peter T "Pflugs" wrote in message ... I know how to make custom toolbars in Excel and through VBA. Is it possible to make popup menus within a toolbar that are floatable (similar to the font and cell color pallettes)? Thanks, Pflugs |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Yes, I think those methods would work better. Thanks for the popup code.
Pflugs "Peter T" wrote: I don't think there's any straightforward way to create this type of control, or indeed various others. Depending on what you want to achieve perhaps a cascading menu system (popup controls rather than popup bars) or even add some more 'squarish' commandbars. Regards, Peter T "Pflugs" wrote in message ... Upon some futher testing, I found that the type of control I'm talking about is msoControlSplitButtonPopup. I can create these as long as they have predefined ID's. I can't figure out how to create them from scratch and add my own controls to them. Anyone have any thoughts? Thanks, Pflugs "Peter T" wrote: Should include 'OnError Resume Next' just after 'done:' On Error GoTo errH cbr.ShowPopup done: OnError Resume Next ' add this line cbr.Delete Exit Sub errH: Resume done End Sub Peter T On Error Resume Next cbr.ShowPopup "Peter T" <peter_t@discussions wrote in message ... Just for ideas - Sub CustomBar() Dim cbr As CommandBar Dim cbt As CommandBarButton On Error Resume Next Application.CommandBars("TestBar").Delete On Error GoTo 0 Set cbr = Application.CommandBars.Add("TestBar") Set cbt = cbr.Controls.Add(1) With cbt .Style = msoButtonCaption .Caption = "click for Pop-up" .Visible = True .OnAction = "myPopup" End With cbr.Position = msoBarFloating cbr.Visible = True End Sub Sub myPopup() Dim cbr As CommandBar Dim cbt As CommandBarButton On Error Resume Next CommandBars("myPopup").Delete On Error GoTo 0 Set cbr = Application.CommandBars.Add("myPopup", msoBarPopup, , True) For i = 80 To 89 Set cbt = cbr.Controls.Add(1, , , , True) With cbt .Style = msoButtonIconAndCaption .Caption = "code " & Chr(i - 15) .FaceId = i .Parameter = i - 79 .Visible = True .OnAction = "myMacro" End With Next On Error GoTo errH cbr.ShowPopup done: cbr.Delete Exit Sub errH: Resume done End Sub Sub MyMacro() Dim cbt As CommandBarButton Dim sParam As String Set cbt = Application.CommandBars.ActionControl sParam = cbt.Parameter MsgBox "button " & sParam, , cbt.Caption Select Case sParam Case "1" MsgBox "processing code " & sParam 'etc End Select End Sub Regards, Peter T "Pflugs" wrote in message ... I know how to make custom toolbars in Excel and through VBA. Is it possible to make popup menus within a toolbar that are floatable (similar to the font and cell color pallettes)? Thanks, Pflugs |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Popup Menu / Shortcut Menu | Excel Discussion (Misc queries) | |||
Add standard excel button to custom toolbar menu | Excel Programming | |||
Tooltips won't show up in custom popup menu | Excel Programming | |||
VBA - Disappearing custom menu and custom toolbar | Excel Programming | |||
Adding a check mark to the custom made toolbar/menu continue...... | Excel Programming |