Hi
Two custom menu buttons execute the same basic code but with one additional
function provided by the second button.
To avoid repeating the basic (lengthy) code in two modules it would be great
if I could detect which button was selected.
If this is possible then, noting the additional function is executed part
way through the basic code, the pseudo code would look like this:
Sub MenuSetUp()
btn1.OnAction = "MainProc"
btn2.OnAction = "MainProc"
End Sub
Sub MainProc()
basic code
If btn2 selected then do additional function
rest of basic code
End Sub
I'm guessing each button must have a click event to trigger its OnAction
statement but how do I trap this? I'd appreciate any help on this.
Geoff
Gary''s Student - 30 May 2008 10:59 GMT
You have pushed the unique actions too far down.
Sub Button1code()
Call Commonstuff
End Sub
Sub Button2code()
Call Commonstuff
do unique stuff
End Sub
There is no reason that Commonstuff must do actions that the specific button
code can perform.

Signature
Gary''s Student - gsnu200789
> Hi
> Two custom menu buttons execute the same basic code but with one additional
[quoted text clipped - 19 lines]
>
> Geoff
Geoff - 30 May 2008 11:36 GMT
If I follow you correctly you are suggesting there should be 3 procs so that:
Sub Button1code()
Call Commonstuff1
Call Commonstuff2
End Sub
and
Sub Button2code()
Call Commonstuff1
Uniquestuff
Call Commonstuff2
End Sub
I could do that but it would still be nice to know how to recognise which
button was clicked. <g>
Geoff
> You have pushed the unique actions too far down.
>
[quoted text clipped - 33 lines]
> >
> > Geoff
stefan onken - 30 May 2008 11:15 GMT
hi Geoff,
you could use
Application.Caller(1) or
Application.CommandBars.ActionControl.Index
to get the Index of the pressed button.
Sub MainProc()
basic code
If Application.Caller(1) =2 then do additional function
rest of basic code
End Sub
stefan
> Hi
> Two custom menu buttons execute the same basic code but with one additional
[quoted text clipped - 19 lines]
>
> Geoff
Geoff - 30 May 2008 11:52 GMT
Hi Stefan
ActionControl.index was what I was looking for.
Thank you for that.
Geoff
> hi Geoff,
> you could use
[quoted text clipped - 35 lines]
> >
> > Geoff