A) 2 Contiguous Popups B) The 'reverse' of .onaction
"Neal Zimm" wrote in message
...
Hi All,
I have Walkenbach's 2002 VBA book and am STARTING to learn about Toolbars
and Menus. I've built a menu using his method of putting the variable data
into a worksheet, ws, with a macro to add the controls reading the ws.
What
I don't see; I looked thru all of the standard Excel Menus, is two popups
"in
a row". See diagram below for popup 2 and 2.1
A)
Menu
popup 1 a series of "popup 1's" is what the JWalk code does.
sub item a
sub item b
popup 2
popup 2.1
sub item c
sub item d
popup 2.2
sub item e
sub item f
Is the above possible ? (I don't need code now, but without something like
the above; the Menu design for the app I'm building will be more
difficult.)
It certainly is possible. A popup with sub-items is of type msoControlPopup,
whereas the actual foing control is of type msoControlButton.
I don't have John's code in front of me, but as I recall he uses a level
index, so you will need to add new levels and code to accomodate these.
Related to the above is:
B) In my playing around, I've started a macro via the onaction = "macname"
capability, and in a prior posting I've received advice NOT to pass
arguments
via
onaction = and I'm gonna follow the advice. I've put some data into the
.Tag
property, BUT then I realized:
How does a macro "know" which control button triggered it?
Is there some kind of event that will let you back track to the .Tag
info ?
Is the 'normal' way to do this: to attach a different macro name for
each control button with onaction= ? That would give me what I need, but
it
seems cumbersome.
No, as I showed you, you can use a single macro and test the property from
within there. When you click a control, the assigned macro is called. You
test that control's properties using Application.CommandBars.ActionControl,
whereby VBA holds details of the control triggered. for instance
If Application.CommandBars.ActionControl.Tag ="Neal" then
'etc.
|