XerXes777 Mitglied Techniker fuer Elektrotechnik
Beiträge: 8 Registriert: 10.06.2024 EPLAN P8 2024
|
erstellt am: 23. Jul. 2024 18:52 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich möchte mir gerne ein EPLAN Skript für einen festgelegten Ablauf schreiben. Leider habe ich nur die kleinste EPLAN Lizenz und kann daher nur auf wenige Funktionen zurückgreifen. Alle Textfelder, die mehrsprachig sind, habe ich bereits komplett gefüllt. Manuell gehe ich momentan wie folgt vor: Im Menüband habe ich mir neue Funktionen angelegt mit der Befehlszeile: SetProjectLanguage /DISPLAY:en_US /VARIABLE:en_US Darauf klicke ich, um die Sprache umzustellen. Dann klicke ich auf Datei, Exportieren, als PDF und wähle mein Schema "PDF Export AF" aus. Dies wiederhole ich für alle Sprachen. Nun möchte ich mit einem Skript alle verfügbaren Sprachen als PDF exportieren. Da ich keine C# Kenntnisse habe, wollte ich fragen, ob ihr mir dabei helfen könnt. Anbei findet ihr einen VBS Pseudo-Code als Ausgangspunkt: Code:
' Array of languages languages = Array("de_DE", "en_US", "es_ES", "fr_FR", "nl_NL", "sv_SE", "da_DK", "ru_RU", "zh_CN", "pl_PL", "pt_BR", "cs_CZ", "it_IT", "hu_HU", "pt_PT", "ko_KR", "ja_JP", "tr_TR", "ro_RO", "zh_TW")' Loop through each language For Each lang In languages ' Set project language SetProjectLanguage lang ' Export project as PDF ExportPDF Next Sub SetProjectLanguage(lang) Dim command command = "SetProjectLanguage /DISPLAY:" & lang & " /VARIABLE:" & lang ' Execute the command in EPLAN Call Shell("cmd.exe /c " & command, vbHide) End Sub Sub ExportPDF() Dim command ' Export the PDF using the existing schema without specifying a destination command = "Export /SCHEMA:'PDF Export AF'" ' Execute the command in EPLAN Call Shell("cmd.exe /c " & command, vbHide) End Sub
EDIT: Ich habe mich mal etwas selbst damit beschäftigt. Mein Export Schema fügt am ende des Dateinamens den Ländercode automatisch hinzu. Hier ist mein Code als C#: Code:
public class ExportToPDFAllLanguages { // ************************* Parameter für das Skript ************************* // // Name des Export-Schemas private string exportSchemeName = "PDF Export AF"; // Sprachen, die durchlaufen werden sollen private string[] languages = { "de_DE", "en_US", "es_ES", "fr_FR", "nl_NL", "sv_SE", "da_DK", "ru_RU", "zh_CN", "pl_PL", "pt_BR", "cs_CZ", "it_IT", "hu_HU", "pt_PT", "ko_KR", "ja_JP", "tr_TR", "ro_RO", "zh_TW" }; [Start] public void Execute() { foreach (string language in languages) { // Sprache setzen SetLanguage(language); // Projekt als PDF exportieren ExportProjectToPDF(); } // Setze Sprache zurück auf Deutsch SetLanguage(languages[0]); } public void SetLanguage(string language) { // Erstellen des Kontexts für die Aktion ActionCallingContext setLanguageContext = new ActionCallingContext(); // Setzen der Parameter setLanguageContext.AddParameter("DISPLAY", language); setLanguageContext.AddParameter("VARIABLE", language); // Ausführen der Aktion new CommandLineInterpreter().Execute("SetProjectLanguage", setLanguageContext); } public void ExportProjectToPDF() { // Erstellen des Kontexts für die Aktion ActionCallingContext exportContext = new ActionCallingContext(); // Setzen der Parameter exportContext.AddParameter("TYPE", "PDFPROJECTSCHEME"); exportContext.AddParameter("EXPORTSCHEME", exportSchemeName); // Ausführen der Aktion new CommandLineInterpreter().Execute("export", exportContext); } }
[Diese Nachricht wurde von XerXes777 am 23. Jul. 2024 editiert.]
[Diese Nachricht wurde von XerXes777 am 26. Jul. 2024 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |