Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hello,
I have been using the following function to change the faceid on a commandbar button once it has been clicked: Function ChangeFace() Dim OldCTRL Set OldCTRL = CommandBars("SHOW").Controls(CommandBars.ActionCon trol.Caption) OldCTRL.FaceId = 1087 OldCTRL.Style = msoButtonIconAndCaptionBelow End Function The function is called when each button is clicked. the line Set OldCTRL = CommandBars("SHOW").Controls CommandBars.ActionControl.Caption) sets which button on the commandbar named SHOW called the function. I would like to be able to capture which commandbar and which button called the function so I can use the same function from different commandbars. Something like (pseudo code) Set OldCTRL = CommandBars(ActiveCommandBar).Controls(CommandBars .ActionControl.Caption) Any help is greatly appreciated, Kevin |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Just use...
Set OldCtrl = Application.CommandBars.ActionControl And... OldCtrl.Parent will return the controls location, but there is no need for this in the situation you describe. -- Jim Cone Portland, Oregon USA "Sgt Waddle" wrote in message Hello, I have been using the following function to change the faceid on a commandbar button once it has been clicked: Function ChangeFace() Dim OldCTRL Set OldCTRL = CommandBars("SHOW").Controls(CommandBars.ActionCon trol.Caption) OldCTRL.FaceId = 1087 OldCTRL.Style = msoButtonIconAndCaptionBelow End Function The function is called when each button is clicked. the line Set OldCTRL = CommandBars("SHOW").Controls CommandBars.ActionControl.Caption) sets which button on the commandbar named SHOW called the function. I would like to be able to capture which commandbar and which button called the function so I can use the same function from different commandbars. Something like (pseudo code) Set OldCTRL = CommandBars(ActiveCommandBar).Controls(CommandBars .ActionControl.Caption) Any help is greatly appreciated, Kevin |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
A little Google and 'Bob's your uncle!'
I did not need to name the CommandBar Function ChangeFace() Application.CommandBars.ActionControl.Style = msoButtonIconAndCaptionBelow Application.CommandBars.ActionControl.FaceId = 1087 End Function Thanks! "Sgt Waddle" wrote: Hello, I have been using the following function to change the faceid on a commandbar button once it has been clicked: Function ChangeFace() Dim OldCTRL Set OldCTRL = CommandBars("SHOW").Controls(CommandBars.ActionCon trol.Caption) OldCTRL.FaceId = 1087 OldCTRL.Style = msoButtonIconAndCaptionBelow End Function The function is called when each button is clicked. the line Set OldCTRL = CommandBars("SHOW").Controls CommandBars.ActionControl.Caption) sets which button on the commandbar named SHOW called the function. I would like to be able to capture which commandbar and which button called the function so I can use the same function from different commandbars. Something like (pseudo code) Set OldCTRL = CommandBars(ActiveCommandBar).Controls(CommandBars .ActionControl.Caption) Any help is greatly appreciated, Kevin |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Jim,
I didn't see your reply until after I solved it. Thanks for taking the time to reply. Kevin "Jim Cone" wrote: Just use... Set OldCtrl = Application.CommandBars.ActionControl And... OldCtrl.Parent will return the controls location, but there is no need for this in the situation you describe. -- Jim Cone Portland, Oregon USA "Sgt Waddle" wrote in message Hello, I have been using the following function to change the faceid on a commandbar button once it has been clicked: Function ChangeFace() Dim OldCTRL Set OldCTRL = CommandBars("SHOW").Controls(CommandBars.ActionCon trol.Caption) OldCTRL.FaceId = 1087 OldCTRL.Style = msoButtonIconAndCaptionBelow End Function The function is called when each button is clicked. the line Set OldCTRL = CommandBars("SHOW").Controls CommandBars.ActionControl.Caption) sets which button on the commandbar named SHOW called the function. I would like to be able to capture which commandbar and which button called the function so I can use the same function from different commandbars. Something like (pseudo code) Set OldCTRL = CommandBars(ActiveCommandBar).Controls(CommandBars .ActionControl.Caption) Any help is greatly appreciated, Kevin |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
What is this function called?? | Excel Discussion (Misc queries) | |||
Custom Function being called when it shouldn't. | Excel Programming | |||
XLA function called twice | Excel Programming | |||
Possible to know who has called a function ? | Excel Programming | |||
Save Event - Determine if called by code or user | Excel Programming |