| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN |
Autor
|
Thema: Makro per Skript platzieren (4723 mal gelesen)
|
M.Simon Mitglied
Beiträge: 309 Registriert: 03.01.2003 EPLAN Electric P8 Professional 2024
|
erstellt am: 03. Mai. 2011 13:27 <-- editieren / zitieren --> Unities abgeben:
|
F.S. Moderator
Beiträge: 1815 Registriert: 23.04.2003 EPLAN Electric P8 2023 Prof.
|
erstellt am: 03. Mai. 2011 14:57 <-- editieren / zitieren --> Unities abgeben: Nur für M.Simon
Hallo, sollte gehen, schau dir die Aktion "edit" in der Online-Hilfe an, damit kannst du vor dem Makro einfügen den Cursor auf Pos. X / Y plazieren. Ansonsten bitte dein Script hier hochladen damit man am konkretem Beispiel probieren kann. grüße FrankS ------------------ TwinTop-Freunde Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ASSE Mitglied
Beiträge: 92 Registriert: 12.01.2005 EPLAN Electric P8 2023 Update 4
|
erstellt am: 09. Jan. 2019 14:22 <-- editieren / zitieren --> Unities abgeben: Nur für M.Simon
Hallo zusammen, möchte mich mal an diesen alten Eintrag mit ran hängen. Versuche derzeit das gleiche. Makro kann ich auswählen und auch auch mit edit auf eine bestimmte Position bringen. Aber wie setzt man nun das Makro ab, so dass es nicht mehr am Cursor hängt? Gruß Florian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
F.S. Moderator
Beiträge: 1815 Registriert: 23.04.2003 EPLAN Electric P8 2023 Prof.
|
erstellt am: 10. Jan. 2019 11:27 <-- editieren / zitieren --> Unities abgeben: Nur für M.Simon
|
Sbg Markus Mitglied
Beiträge: 516 Registriert: 24.11.2009 Eplan P8 2.7 Eplan P8 2.5 Eplan P8 2.3 Eplan P8 2.2 Eplan P8 2.0 Eplan 5.70.4.26200
|
erstellt am: 10. Jan. 2019 12:20 <-- editieren / zitieren --> Unities abgeben: Nur für M.Simon
Ich hab es so gelöst. Parallel.Invoke( () => { ea_MakroEinfügen(PfadMakro); (XGedStartInteractionAction") }, () => { Thread.Sleep(500); TastenSimulieren("xy{ENTER}", 0); } );
------------------ --------------- mfg Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ASSE Mitglied
Beiträge: 92 Registriert: 12.01.2005 EPLAN Electric P8 2023 Update 4
|
erstellt am: 10. Jan. 2019 15:33 <-- editieren / zitieren --> Unities abgeben: Nur für M.Simon
Hallo Markus, ein Lichtblick am Ende des Tunnels ;-) OK, hab das mal in meinem Testscript eingefügt.
Code: CS0103 (Zeile:207, Spalte:9): The name 'TastenSimulieren' does not exist in the current context
Du hast sicher noch einen Code hinter "TastenSimulieren"? Code: public class Script { [Start] public void AutoTreat() { string filename = @"Allgemein\BNC.ems"; ActionCallingContext acc = new ActionCallingContext(); acc.AddParameter("Name", "XMIaInsertMacro"); acc.AddParameter("filename", filename); acc.AddParameter("variant", "0"); CommandLineInterpreter cmdLineItp = new CommandLineInterpreter(); cmdLineItp.Execute("XGedStartInteractionAction", acc); ActionCallingContext acc2 = new ActionCallingContext(); acc2.AddParameter("PAGENAME", "+A1&EFS/1"); acc2.AddParameter("X", "100"); acc2.AddParameter("Y", "0"); CommandLineInterpreter cmdLineItp2 = new CommandLineInterpreter(); cmdLineItp2.Execute("edit", acc2); TastenSimulieren("{ENTER}", 0); } }
Wenn ich das mit dem Parallel Aufruf versuche, bringt er mir leider auch ein paar Meldungen. Hat dieser parallele Aufruf einen tieferen Sinn, oder ergab sich das nur bei deinem Code?
Code: public class Script { [Start] public void AutoTreat() { Parallel.Invoke(() => { string filename = @"Allgemein\BNC.ems"; ActionCallingContext acc = new ActionCallingContext(); acc.AddParameter("Name", "XMIaInsertMacro"); acc.AddParameter("filename", filename); acc.AddParameter("variant", "0"); CommandLineInterpreter cmdLineItp = new CommandLineInterpreter(); cmdLineItp.Execute("XGedStartInteractionAction", acc); ActionCallingContext acc2 = new ActionCallingContext(); acc2.AddParameter("PAGENAME", "+A1&EFS/1"); acc2.AddParameter("X", "100"); acc2.AddParameter("Y", "0"); CommandLineInterpreter cmdLineItp2 = new CommandLineInterpreter(); cmdLineItp2.Execute("edit", acc2); }, () => { Thread.Sleep(500); TastenSimulieren("{ENTER}", 0); } ); } }
Code: CS0103 (Zeile:234, Spalte:13): The name 'TastenSimulieren' does not exist in the current context
Code: CS1660 (Zeile:212, Spalte:25): Cannot convert lambda expression to type 'System.Threading.Tasks.ParallelOptions' because it is not a delegate type
Gruß Florian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sbg Markus Mitglied
Beiträge: 516 Registriert: 24.11.2009 Eplan P8 2.7 Eplan P8 2.5 Eplan P8 2.3 Eplan P8 2.2 Eplan P8 2.0 Eplan 5.70.4.26200
|
erstellt am: 10. Jan. 2019 16:20 <-- editieren / zitieren --> Unities abgeben: Nur für M.Simon
|
ASSE Mitglied
Beiträge: 92 Registriert: 12.01.2005 EPLAN Electric P8 2023 Update 4
|
erstellt am: 16. Jan. 2019 08:16 <-- editieren / zitieren --> Unities abgeben: Nur für M.Simon
|