ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Using Caller with sub-menu selection in 2007 (https://www.excelbanter.com/excel-programming/407465-using-caller-sub-menu-selection-2007-a.html)

Kevin Beckham[_3_]

Using Caller with sub-menu selection in 2007
 
I use the Application.Caller to return the menu item from a menu containing
sub-menus that each use the same macro function. While the upper level items
still work, there is no longer any differentiation for the sub-menu items.
Code did work for 2003 and earlier but not for 2007. Have I missed something ?

dim c as variant
c= Application.Caller
if c(4)= 0 then ' menu item
'select actual course of action
select case c(1)
case 1
case 2
case else
end select
elseif c(4) = 11 then ' 11th item in menu is a sub-menu
'select actual course of action for sub-menu
select case c(1)
case 1
case 2
case else
end select
endif

TIA

Jim Cone

Using Caller with sub-menu selection in 2007
 

I don't use XL2007, but the "ActionControl" property may still work.
Give it a try.
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware
(Excel Add-ins / Excel Programming)




"Kevin Beckham"
wrote in message
I use the Application.Caller to return the menu item from a menu containing
sub-menus that each use the same macro function. While the upper level items
still work, there is no longer any differentiation for the sub-menu items.
Code did work for 2003 and earlier but not for 2007. Have I missed something ?

dim c as variant
c= Application.Caller
if c(4)= 0 then ' menu item
'select actual course of action
select case c(1)
case 1
case 2
case else
end select
elseif c(4) = 11 then ' 11th item in menu is a sub-menu
'select actual course of action for sub-menu
select case c(1)
case 1
case 2
case else
end select
endif

TIA

Kevin Beckham[_3_]

Using Caller with sub-menu selection in 2007
 
Thanks Jim

I didn't want to have to set a different ActionContol (and hence different
processing procedure) for each menu item, 30-40 including sub-menus, as the
handling is essentially the same. The code still works for the items on the
menu but not for item on sub-menus, i.e. Caller is broken in 2007

Kevin

"Jim Cone" wrote:


I don't use XL2007, but the "ActionControl" property may still work.
Give it a try.
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware
(Excel Add-ins / Excel Programming)




"Kevin Beckham"
wrote in message
I use the Application.Caller to return the menu item from a menu containing
sub-menus that each use the same macro function. While the upper level items
still work, there is no longer any differentiation for the sub-menu items.
Code did work for 2003 and earlier but not for 2007. Have I missed something ?

dim c as variant
c= Application.Caller
if c(4)= 0 then ' menu item
'select actual course of action
select case c(1)
case 1
case 2
case else
end select
elseif c(4) = 11 then ' 11th item in menu is a sub-menu
'select actual course of action for sub-menu
select case c(1)
case 1
case 2
case else
end select
endif

TIA



All times are GMT +1. The time now is 03:11 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com