I am trying to change the properties of a button symbol based on the mimc that is open. For example, I have 5 menu buttons that open/navigate to other mimics via pick action hyperlink, but I want Button 1 to be yellow or disappear (in the code below) since the mimic that opens, is the one that is currently open. I'm not real handy with VB/Scripting.
I have the following in the Mimic Script
sub Mimic_Load()
call ButtonMod()
end sub
sub ButtonMod()
if Mimic.FullName = "SA.Sites.Overview.Communication Statistics Overview L1" then
btn_Booster1.Visible = False
else
btn_Booster1.Visible = True
end if
end sub
I know that the fullname property is correct as I've done a MsgBox and returned that name and the error happens at the success point where btn_Booster1.Visible happens. The error I get is "Object required: 'btn_Booster1'". And yes, there is a button symbol on the Mimic and its name is btn_Booster1.
Solved! Go to Solution.
As @geoffpatton recommends, use the Visible animation for this.
On the animations dialog...
It's where other people will expect such animations to be located.
As for your actual script, I've got a terrible memory for these things and the exact syntax. But I believe you may have to specify the full path to the object, ie. with the appropriate layer also.
I thought there was an example for this in the help, but maybe it was in the Schneider training material.
I found it 🙂
file:///C:/ProgramData/Schneider%20Electric/ClearSCADA/Help_en-US/Content/ScriptingGuide/Mimic.Layers.htm%3FTocPath%3DCore%2520Reference%7CCoding%7CScripting%7CMimic%2520Functions%2520and%2520Properties%7CMimic%2520Properties%7CMimic.Layers%7C_____0
hmm... it seems copying the shortcut, or trying to Open in new Window with GeoSCADA help doesn't work...
You want the scripting section, and then Mimic Properties, and then Mimic.Layers
Core Reference > Coding > Scripting > Mimic.Layers
So you should be doing
Mimic.Layers("{NAME OF LAYER HERE}").Item("{NAME OF ITEM HERE"}).Visible = False
I just tested it.. and now I've lost a good button...
Oh duh, I was thinking of writing to a database object.
Something like this
Mimic.Layers("Graphical").Item("ForcePoll").Visible = True
I would just use the Animations for Color and Visible and not a script.
But to answer your question you want
btn_Booster1.Visible, False
As @geoffpatton recommends, use the Visible animation for this.
On the animations dialog...
It's where other people will expect such animations to be located.
As for your actual script, I've got a terrible memory for these things and the exact syntax. But I believe you may have to specify the full path to the object, ie. with the appropriate layer also.
I thought there was an example for this in the help, but maybe it was in the Schneider training material.
I found it 🙂
file:///C:/ProgramData/Schneider%20Electric/ClearSCADA/Help_en-US/Content/ScriptingGuide/Mimic.Layers.htm%3FTocPath%3DCore%2520Reference%7CCoding%7CScripting%7CMimic%2520Functions%2520and%2520Properties%7CMimic%2520Properties%7CMimic.Layers%7C_____0
hmm... it seems copying the shortcut, or trying to Open in new Window with GeoSCADA help doesn't work...
You want the scripting section, and then Mimic Properties, and then Mimic.Layers
Core Reference > Coding > Scripting > Mimic.Layers
So you should be doing
Mimic.Layers("{NAME OF LAYER HERE}").Item("{NAME OF ITEM HERE"}).Visible = False
I just tested it.. and now I've lost a good button...
Oh duh, I was thinking of writing to a database object.
Something like this
Mimic.Layers("Graphical").Item("ForcePoll").Visible = True
Thanks! That worked wonderfully!
Thanks! That worked wonderfully!
User | Count |
---|---|
188 | |
53 | |
16 | |
16 | |
15 |
Discuss challenges in energy and automation with 30,000+ experts and peers.
Find answers in 10,000+ support articles to help solve your product and business challenges.
Find peer based solutions to your questions. Provide answers for fellow community members!