VBA problem with CommandBars

Z

zuEgg

Hi.
I'm having problems writing a macro that creates a custom
CommandBarControl. I have to check if the CommandBarControl is empty
and then delete it.
Here is the code of what i'm doing:

Dim cbpop As CommandBarControl
Dim cbctl As CommandBarControl
Dim bExists As Boolean
bExists = False
For Each cbpop In Application.CommandBars("Worksheet Menu
Bar").Controls
If cbpop.Caption = "xxx" Then

' if the CommandBarControl is empty.........

Application.CommandBars("Worksheet Menu
Bar").Controls("xxx").Delete
End If
Next

I've been searching for long but i've not found any hint for solving
the problem.
Thanks,
Massimo
 
D

Die_Another_Day

What do you mean by "empty"?
You can check to see if it has been assigned to anthing.
Var1 = cbpop.OnAction
you can assign the control to the variable control and check if that is
empty...
Set cbpop = Application.CommandBars("Worksheet Menu
Bar").Controls("xxx")
if cbpop is nothing then
.....
end if

Does that get you anywhere?

Die_Another_Day
 
Z

zuEgg

Die_Another_Day ha scritto:
What do you mean by "empty"?
You can check to see if it has been assigned to anthing.
Var1 = cbpop.OnAction
you can assign the control to the variable control and check if that is
empty...
Set cbpop = Application.CommandBars("Worksheet Menu
Bar").Controls("xxx")
if cbpop is nothing then
....
end if

Does that get you anywhere?

Die_Another_Day

the CommandBarControl can contain other CommandBarControls as sub
menus. With empty i mean check if the CommandBarControl has no items
contained in it
 
G

Guest

When I want to clear off a custom CommandBarControl (like when the workbook
is closed), I use:

On Error Resume Next
Application.CommandBars("Worksheet Menu Bar").Controls("xxx").Delete
On Error GoTo 0

Its simpler than searching.
 
Z

zuEgg

Tom Ogilvy ha scritto:
if the CommandBarControl is empty.........

would be

if cbPop.controls.count = 0 then

Thank you very much. my problem is solved! I wasn't able to find the
count property because the vba editor don't put it in the property list
that appears pressing ctrl+space.

Thanks again :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top