Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
.OnAction set value
In my macro when the user presses a button I use the following code:
Set stapelDiagramKnapp = .Controls.Add(Type:=msoControlButton) With stapelDiagramKnapp ..Caption = "Stapeldiagram" ..OnAction = "ChartModul1.arrayLoop" .....here I want to assign a value to a global variable (declared in a differen place) so that I can keep track of which button is pressed. Alternatively I can assign a value to an "ordinary" variable and pass that along to the other modules as an argumnet. Can someone please help me with the code for this? Thanks to you all very much! |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
.OnAction set value
in ArrayLoop you can get a reference to the button with
set cmdBtn = Application.Commandbars.ActionControl so you don't need a global variable or to pass anything. -- Regards, Tom Ogilvy "Arne Hegefors" wrote: In my macro when the user presses a button I use the following code: Set stapelDiagramKnapp = .Controls.Add(Type:=msoControlButton) With stapelDiagramKnapp .Caption = "Stapeldiagram" .OnAction = "ChartModul1.arrayLoop" ....here I want to assign a value to a global variable (declared in a differen place) so that I can keep track of which button is pressed. Alternatively I can assign a value to an "ordinary" variable and pass that along to the other modules as an argumnet. Can someone please help me with the code for this? Thanks to you all very much! |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
.OnAction set value
Hello Tom! Great! Thanks for your help! Now I use cmdBtn.Caption to identify
the button but is there no better way of adding an id to a button? I tried assigning an ID to the button by writing: With linjeDiagramKnapp .ID = "linje" .Caption = "Linjediagram" but when I check the id in msgbox all I get is 1. Is there no way of assgning a descriptive ID but not using caption (you may want to chnage caption so it does not feel that secure). Please help me out! Thanks very much! "Tom Ogilvy" skrev: in ArrayLoop you can get a reference to the button with set cmdBtn = Application.Commandbars.ActionControl so you don't need a global variable or to pass anything. -- Regards, Tom Ogilvy "Arne Hegefors" wrote: In my macro when the user presses a button I use the following code: Set stapelDiagramKnapp = .Controls.Add(Type:=msoControlButton) With stapelDiagramKnapp .Caption = "Stapeldiagram" .OnAction = "ChartModul1.arrayLoop" ....here I want to assign a value to a global variable (declared in a differen place) so that I can keep track of which button is pressed. Alternatively I can assign a value to an "ordinary" variable and pass that along to the other modules as an argumnet. Can someone please help me with the code for this? Thanks to you all very much! |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
.OnAction set value
Id is a read only property. You can use the TAG or PARAMETER properties.
If you use TAG, then you can search for it using FindControl/Findcontrols -- regards, Tom Ogilvy "Arne Hegefors" wrote: Hello Tom! Great! Thanks for your help! Now I use cmdBtn.Caption to identify the button but is there no better way of adding an id to a button? I tried assigning an ID to the button by writing: With linjeDiagramKnapp .ID = "linje" .Caption = "Linjediagram" but when I check the id in msgbox all I get is 1. Is there no way of assgning a descriptive ID but not using caption (you may want to chnage caption so it does not feel that secure). Please help me out! Thanks very much! "Tom Ogilvy" skrev: in ArrayLoop you can get a reference to the button with set cmdBtn = Application.Commandbars.ActionControl so you don't need a global variable or to pass anything. -- Regards, Tom Ogilvy "Arne Hegefors" wrote: In my macro when the user presses a button I use the following code: Set stapelDiagramKnapp = .Controls.Add(Type:=msoControlButton) With stapelDiagramKnapp .Caption = "Stapeldiagram" .OnAction = "ChartModul1.arrayLoop" ....here I want to assign a value to a global variable (declared in a differen place) so that I can keep track of which button is pressed. Alternatively I can assign a value to an "ordinary" variable and pass that along to the other modules as an argumnet. Can someone please help me with the code for this? Thanks to you all very much! |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
.OnAction set value
Hi Tom! Lst question I hope. My commandbar is created in another module than
where i have the sub that checks the value of the commanbar. In the module Meny: Dim stapelDiagramKnapp As CommandBarButton Set stapelDiagramKnapp = .Controls.Add(Type:=msoControlButton) With stapelDiagramKnapp .Tag = "stapel" ...... In the module ChartModul: Set cmdBtn = Application.CommandBars.ActionControl If cmdBtn.Tag = "stapel" Then MsgBox ("it is a stapel") End If My problem is that the code does not find any value for the Tag. I assume that I have to change the code for Application.Command.......but I do not know how to write it so that it gets the tag value. please please please help me out here! I hope I dont have to ask any more questions after this! I truly appreciate all your help! Thanks very much! "Tom Ogilvy" skrev: Id is a read only property. You can use the TAG or PARAMETER properties. If you use TAG, then you can search for it using FindControl/Findcontrols -- regards, Tom Ogilvy "Arne Hegefors" wrote: Hello Tom! Great! Thanks for your help! Now I use cmdBtn.Caption to identify the button but is there no better way of adding an id to a button? I tried assigning an ID to the button by writing: With linjeDiagramKnapp .ID = "linje" .Caption = "Linjediagram" but when I check the id in msgbox all I get is 1. Is there no way of assgning a descriptive ID but not using caption (you may want to chnage caption so it does not feel that secure). Please help me out! Thanks very much! "Tom Ogilvy" skrev: in ArrayLoop you can get a reference to the button with set cmdBtn = Application.Commandbars.ActionControl so you don't need a global variable or to pass anything. -- Regards, Tom Ogilvy "Arne Hegefors" wrote: In my macro when the user presses a button I use the following code: Set stapelDiagramKnapp = .Controls.Add(Type:=msoControlButton) With stapelDiagramKnapp .Caption = "Stapeldiagram" .OnAction = "ChartModul1.arrayLoop" ....here I want to assign a value to a global variable (declared in a differen place) so that I can keep track of which button is pressed. Alternatively I can assign a value to an "ordinary" variable and pass that along to the other modules as an argumnet. Can someone please help me with the code for this? Thanks to you all very much! |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
.OnAction set value
Sub abcd()
Dim stapelDiagramKnapp As CommandBarButton With CommandBars("Custom 1") Set stapelDiagramKnapp = .Controls.Add(Type:=msoControlButton) End With With stapelDiagramKnapp .Caption = "Test Button" .Tag = "stapel" .OnAction = "Module2.btnclk" End With End Sub Sub btnclk() Dim cmdBtn As CommandBarButton Set cmdBtn = Application.CommandBars.ActionControl If cmdBtn.Tag = "stapel" Then MsgBox ("it is a stapel") End If End Sub worked fine for me. -- Regards, Tom Ogilvy "Arne Hegefors" wrote: Hi Tom! Lst question I hope. My commandbar is created in another module than where i have the sub that checks the value of the commanbar. In the module Meny: Dim stapelDiagramKnapp As CommandBarButton Set stapelDiagramKnapp = .Controls.Add(Type:=msoControlButton) With stapelDiagramKnapp .Tag = "stapel" ..... In the module ChartModul: Set cmdBtn = Application.CommandBars.ActionControl If cmdBtn.Tag = "stapel" Then MsgBox ("it is a stapel") End If My problem is that the code does not find any value for the Tag. I assume that I have to change the code for Application.Command.......but I do not know how to write it so that it gets the tag value. please please please help me out here! I hope I dont have to ask any more questions after this! I truly appreciate all your help! Thanks very much! "Tom Ogilvy" skrev: Id is a read only property. You can use the TAG or PARAMETER properties. If you use TAG, then you can search for it using FindControl/Findcontrols -- regards, Tom Ogilvy "Arne Hegefors" wrote: Hello Tom! Great! Thanks for your help! Now I use cmdBtn.Caption to identify the button but is there no better way of adding an id to a button? I tried assigning an ID to the button by writing: With linjeDiagramKnapp .ID = "linje" .Caption = "Linjediagram" but when I check the id in msgbox all I get is 1. Is there no way of assgning a descriptive ID but not using caption (you may want to chnage caption so it does not feel that secure). Please help me out! Thanks very much! "Tom Ogilvy" skrev: in ArrayLoop you can get a reference to the button with set cmdBtn = Application.Commandbars.ActionControl so you don't need a global variable or to pass anything. -- Regards, Tom Ogilvy "Arne Hegefors" wrote: In my macro when the user presses a button I use the following code: Set stapelDiagramKnapp = .Controls.Add(Type:=msoControlButton) With stapelDiagramKnapp .Caption = "Stapeldiagram" .OnAction = "ChartModul1.arrayLoop" ....here I want to assign a value to a global variable (declared in a differen place) so that I can keep track of which button is pressed. Alternatively I can assign a value to an "ordinary" variable and pass that along to the other modules as an argumnet. Can someone please help me with the code for this? Thanks to you all very much! |
#7
Posted to microsoft.public.excel.programming
|
|||
|
|||
.OnAction set value
Hello again! Thanks for your reply! I did not work for me. Then I deleted
another module that i was not using and then it all of a sudden started to work...I really am not getting this programing. Thank you very much for all your help Tom! I do not know what I would have done otherwise! Again thank you very much!!!! "Tom Ogilvy" skrev: Sub abcd() Dim stapelDiagramKnapp As CommandBarButton With CommandBars("Custom 1") Set stapelDiagramKnapp = .Controls.Add(Type:=msoControlButton) End With With stapelDiagramKnapp .Caption = "Test Button" .Tag = "stapel" .OnAction = "Module2.btnclk" End With End Sub Sub btnclk() Dim cmdBtn As CommandBarButton Set cmdBtn = Application.CommandBars.ActionControl If cmdBtn.Tag = "stapel" Then MsgBox ("it is a stapel") End If End Sub worked fine for me. -- Regards, Tom Ogilvy "Arne Hegefors" wrote: Hi Tom! Lst question I hope. My commandbar is created in another module than where i have the sub that checks the value of the commanbar. In the module Meny: Dim stapelDiagramKnapp As CommandBarButton Set stapelDiagramKnapp = .Controls.Add(Type:=msoControlButton) With stapelDiagramKnapp .Tag = "stapel" ..... In the module ChartModul: Set cmdBtn = Application.CommandBars.ActionControl If cmdBtn.Tag = "stapel" Then MsgBox ("it is a stapel") End If My problem is that the code does not find any value for the Tag. I assume that I have to change the code for Application.Command.......but I do not know how to write it so that it gets the tag value. please please please help me out here! I hope I dont have to ask any more questions after this! I truly appreciate all your help! Thanks very much! "Tom Ogilvy" skrev: Id is a read only property. You can use the TAG or PARAMETER properties. If you use TAG, then you can search for it using FindControl/Findcontrols -- regards, Tom Ogilvy "Arne Hegefors" wrote: Hello Tom! Great! Thanks for your help! Now I use cmdBtn.Caption to identify the button but is there no better way of adding an id to a button? I tried assigning an ID to the button by writing: With linjeDiagramKnapp .ID = "linje" .Caption = "Linjediagram" but when I check the id in msgbox all I get is 1. Is there no way of assgning a descriptive ID but not using caption (you may want to chnage caption so it does not feel that secure). Please help me out! Thanks very much! "Tom Ogilvy" skrev: in ArrayLoop you can get a reference to the button with set cmdBtn = Application.Commandbars.ActionControl so you don't need a global variable or to pass anything. -- Regards, Tom Ogilvy "Arne Hegefors" wrote: In my macro when the user presses a button I use the following code: Set stapelDiagramKnapp = .Controls.Add(Type:=msoControlButton) With stapelDiagramKnapp .Caption = "Stapeldiagram" .OnAction = "ChartModul1.arrayLoop" ....here I want to assign a value to a global variable (declared in a differen place) so that I can keep track of which button is pressed. Alternatively I can assign a value to an "ordinary" variable and pass that along to the other modules as an argumnet. Can someone please help me with the code for this? Thanks to you all very much! |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
OnAction? | Excel Programming | |||
onAction with parameters | Excel Programming | |||
.OnAction with arguments | Excel Programming | |||
OnAction | Excel Programming | |||
OnAction | Excel Programming |