U kunt ook automatische acties in een eenvoudig script opnemen. Met behulp van deze EPLAN-acties kunt u verschillende programmafuncties (zoals gegevens backuppen, afdrukken etc.) geautomatiseerd uitvoeren.
Na de klasse, het attribuut [Start] en de functie moet daartoe in het script eerst de parameterset van de actie worden gedefinieerd en moet vervolgens de actie via CommandLineInterpreter().Execute() worden uitgevoerd.
De algemene opbouw van een dergelijk C#-script ziet er als volgt uit:
public class <ScriptName> { [Start] public void <FunctionName> { ActionCallingContext <ActionName>Context = new ActionCallingContext (); <ActionName>Context .AddParameter("<ActionParameter1>","<Value>"); <ActionName>Context .AddParameter("<ActionParameter2>","<Value>"); ... new CommandLineInterpreter().Execute("<ActionName>",<ActionName>Context); return; } }
Het volgende voorbeeld toont een script in C# met de EPLAN-actie print:
public class PrintScript { [Start] public void PrintFunction() { ActionCallingContext printContext = new ActionCallingContext (); printContext .AddParameter("NUMBER","1"); printContext .AddParameter("PRINTCHANGEDPAGES","0"); printContext .AddParameter("PRINTREVERSE","0"); printContext .AddParameter("PRINTCOLLATE","0"); printContext .AddParameter("PRINTERNAME",@"\\FUEMON\Kyocera FS-1700+ TechDok KX"); printContext .AddParameter("PROJECTNAME",@"C:\Program Files\EPLAN\Electric P8\Projects\EPLAN\ESS_Sample_Project.elk); printContext .AddParameter("TYPE","PAGES"); printContext .AddParameter("PAGENAME","=GB1+A1&EFS1/1"); new CommandLineInterpreter().Execute("print",printContext); return; } }
Via ActionCallingContext wordt in het bovengenoemde voorbeeld de parameterset voor de functie PrintFunction gedefinieerd. Vervolgens worden de verschillende parameters alsmede de betreffende waarden voor de actie print weergegeven. Zo definieert u bijvoorbeeld via de parameter NUMBER het aantal afdrukken. In het voorbeeld is hier de waarde "1" ingevoerd. Via Execute wordt de actie print ten slotte uitgevoerd.
Hetzelfde voorbeeld in Visual Basic.Net ziet er als volgt uit:
Public Class PrintScript { <Start> _ Public Sub PrintFunction() Dim printContext As New ActionCallingContext () printContext .AddParameter("NUMBER","1") printContext .AddParameter("PRINTCHANGEDPAGES","0") printContext .AddParameter("PRINTREVERSE","0") printContext .AddParameter("PRINTCOLLATE","0") printContext .AddParameter("PRINTERNAME", "\\FUEMON\Kyocera FS-1700+ TechDok KX") printContext .AddParameter("PROJECTNAME", "C:\Program Files\EPLAN\Electric P8\Projects\EPLAN\ESS_Sample_Project.elk) printContext .AddParameter("TYPE","PAGES") printContext .AddParameter("PAGENAME",""=GB1+A1&EFS1/1") Dim commandLineInterpreter As New CommandLineInterpreter() CommandLineInterpreter.Execute("print",printContext) Return End Sub 'PrintFunction End Class 'PrintScript
Tip:
De functie Automatisch verwerken (onder Hulpprogramma's) maakt voor het automatisch uitvoeren van projectacties gebruik van eenvoudige scripts. U kunt deze scripts gebruiken om eigen scripts te maken. Voordat u deze scripts via de menuopdrachten Hulpprogramma's > Scripts > Uitvoeren kunt uitvoeren, moet u voor de functie AutoTreat de parameter String ProjectName en de rij waarin deze parameter wordt gebruikt, verwijderen.
Zie ook