A) 2 Contiguous Popups B) The 'reverse' of .onaction

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

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.)

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.

Thanks,
Neal Z.
 
Neal Zimm said:
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.
 
Hi Again,
I was hoping you'd grab this one.
There's a big email I sent to you re: the Addin.
I actually grabbed a code sample you posted here a while ago on the
indented popups. I'll be working with it later.

My eyes are failing me, too many hours, it's the .ActionControl that's the
key. I already have the data I need in the .Tag property. NOW the discussion
on NOT
passing params in .onaction makes perfect sense.

Thanks.
 
Neal,

Saw the email, and have responded.

I've looked at John's code. Do you need an amended version for 4 levels?

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)
 
Back
Top