PDF on closing project

Dieses Script erzeugt beim Schließen ein PDF des Projektes.
Vielen Dank an FrankS
Der Code ist in VB.NET!
Im Script kann der Speicherort festgelegt werden (Zeile 30):
‘Hier einstellen wohin die PDF-Datei gespeichert werden soll!’1 = in den Projekt-Ordner’2 = in den Ordner eine Ebene über dem Projekt-Ordner’3 = in Ordner “Eigene Dateien”‘4 = auf den Desktop
1 = in den Projekt-Ordner
2 = in den Ordner eine Ebene über dem Projekt-Ordner
3 = in Ordner “Eigene Dateien”
4 = auf den Desktop
5 = Speicherort frei wählbar

Suplanus - Scripts - PDFbyProjectClose V2.1.0.vb (1211 Downloads)

 

Posted in EPLAN, EPLAN-Scripts and tagged , .

32 Comments

  1. Hallo jonny

    gibt es in dem Script “PDF on closing project” eine Möglichkeit das PDF in ein bestimmtes Verzeichnis erzeugen zulassen. Das Zielverzeichnis steht im Benutzer Zusatzfeld 50.

    Ich kenne mich nicht mit der Erstellung von Scripten aus, es wäre für mich sehr hilfreich wenn man das vorhandene Script hieraus erweitern könnte.

    Gruß Martin

  2. Was ist es für ein Verzeichnis? wenn es im Projektordner ein “festes” Verzeichnis ist kann man das ganz einfach machen.
    Aber der Umweg über Benutzer Zusatzfeld 50 (Projekteigenschaft? Genaue ID wäre hilfreich!) würde auch gehen…
    Sag kurz Bescheid :cool:

  3. Hall Jonny,
    besteht auch die Möglichkeit das Script so zu änderen,das man auch ohne das Projekt zu schließen ein PDF erzeugen kann? Über Icon?
    Gruß Uli


  4. fritzemann1:

    Hall Jonny,
    besteht auch die Möglichkeit das Script so zu änderen,das man auch ohne das Projekt zu schließen ein PDF erzeugen kann? Über Icon?
    Gruß Uli

    Ja das geht… hab das noch auf meiner To-Do-Liste… ich werde das ganze gleich für 2.0 bauen, aber da wir noch nicht umgestellt haben, ist dieser Punkt noch ziemlich weit hinten :silly:

  5. Zuerst will ich den PDF export machen für 2.0 mit vielen Einstellmöglichkeiten.
    Werd dann deines miteinbauen…
    Mach mal die Script-Schulung von EPLAN. Dauert 2 Tage danach kannst du dir das selber bauen :) (uuuuund viel mehr)

    Gruß
    Jonny

  6. Hi,

    kannst du mir verraten wie man den Returncode vom Progressbar abfragt (sofern der einen hat) ?
    Ich muss prüfen ob jemand den “Abbruch” Knopf gedrückt hat.
    Wenn es den Progressbar auch ohne Abbruch Button gibt wäre es natürlich auch fein :smile:

    Besten Dank für Deine Skripte. Ich finde es super das Du sie teilst.

  7. Eiso eine Progressbar ohne abbrechen gibt es leider nicht (muss man selber bauen).

    Beispiel:

                Progress oProgress = new Progress("SimpleProgress");
                oProgress.BeginPart(100, "Mach was...");
                oProgress.SetTitle("Titelzeilentext des Fortschrittes");
                oProgress.SetNeededSteps(10);   //max Anzahl der durchzuführenen Aktionen
                oProgress.SetAllowCancel(true);      //Abbrechen erlauben JA/NEIN
                oProgress.ShowImmediately();   //sofortige Anzeige des Fortschrittbalkens
    
                if (!oProgress.Canceled())
                {
                    //meine Aktionen...
                    oProgress.SetActionText("Aktionstext in Fortschrittsbalken");    //Aktionstext fetslegen
                    oProgress.SetTitle("Titelzeilentext bei Bedarf erneut/anders festlegen");    //Titelzeilentext
                    oProgress.Step(1); //Fortschrittsbalken um einen Zähler erhöhen
                }
                oProgress.EndPart(true); //Fortschrittsbalken ENDE
    

    Aber es kommt immer auf die Eplan Action an, ob diese das abbrechen unterstützt.

  8. In cs scheint das zu funktionieren:

    ProgressPDF.SetAllowCancel(false);

    in VB aber anscheinend nicht.

    Danke für das Beispiel.

  9. Prima wäre, wenn man auch vom normalen PDF Export “Seite->Exportieren->PDF”das dort eingestellte “Ausgabeverzeichnis” auch beim “PDF on closing project” auswählen kann, dort haben wir nämlich immer den kompletten Pfad hinterlegt, wo das PDF abgelegt werden soll, wenn es per Hand erzeugt wird. Und logischerweise soll das “Automatische” PDF beim Schliessen ja auch genau da hin.

    Ansonsten ist das Skript genau das, was wir jeden Tag brauchen, damit bei uns alle immer aktuelle Pläne haben. Viele nDank für dieses tolle Skript!

  10. I was recommended this blog by my cousin. I’m not sure whether this post is written by him as nobody else know such detailed about my difficulty. You’re wonderful! Thanks!

  11. Hi,

    wäre es auch möglich, dass beim Schließen des Projektes eine Abfrage erscheint ob ein pdf erstellt werden soll oder nicht.
    Außerdem wäre es gut, wenn bei der abgespeicherten Datei automatisch das Tagesdatum angehängt wird (z.B. PROJEKTNAME_20110907) .

    Danke

    Gruß

  12. Kein Problem.
    Schau dir die Beispiele meines Buches an. Kannst auch kostenlos downloaden:
    12_Dateien_schreiben/03_PDF_beim_Schließen_erzeugen.cs
    10_Dateien_und_Ordner/04_Datei_mit_Datumstempel.cs

    Beides im Visual-Studio Projekt zu finden:
    Buch

  13. Hallo Jonny,

    habe Dein Buch gekauft und finde den Einstieg sehr gut. Vielleicht kannst Du mir folgende Frage beantworten:

    Ist es möglich beim PDF-Export nur bestimmte Seiten(typen) auszugeben?

    Wir würden gerne einige spezielle Seiten aus einem größeren EPLAN-P8 Projket in ein eigenes PDF schreiben (z.B. Lageplan, Prinzipschaltpläne)

    Danke

  14. Hoi,

    leider nicht, da ein Script nicht auf die Selektion etwas ausführen kann sondern nur auf das Projekt.
    Mir ist kein Weg bekannt, sorry.

    Gruß
    Johann

  15. Hallo,

    wenn die betreffenden Seiten mit einem Filter im Seiten-Navi zu packen sind, sollte es gehen.

    Gruß
    FrankS

  16. Hallo Zusammen,

    den Weg, selektierte Seiten als PDF zu erzeugen, habe ich über diverse Foren gefunden. Im Prinzip brauch ich “nur” einen Befehl, der mit via Script Seiten selektiert. So wie FrankS es angedacht hat.

    Ok nächstes Jahr weiter.

    Auch schöne Weihnachten und eine guten Rutsch

    Burkhard

  17. Hallo Johann,
    da ich von Scripten keine Ahnung habe,bitte ich dich,mir das Script
    so zu ändern,das der Speicherort Z:\ordner1(fest eingestellt)\ordner2(fest eingestellt)\ordner 3(frei wählbar)ist.
    Danke im vorraus.
    Gruß Uli

  18. @fritzemann
    Ändere Zeile 52 bitte wie folgt ab:
    ALT:
    .RootFolder = Environment.SpecialFolder.Desktop
    NEU:
    .RootFolder = “Z:\ordner1(fest eingestellt)\ordner2(fest eingestellt)”

    und kontrollier ob in Zeile 33 folgendes steht:
    AusgabeNach = 5 ‘<– hier einstellen

  19. @FrankS
    hallo und vielen Dank für die schnelle Hilfe.
    Leider funktioniert es nicht ganz richtig.
    Das Programm sollte nach dem 2.Ordner stehen bleiben damit ich manuell den 3.Ordner aussuchen kann. Der 3.Orndner sind die Kundenordner,die
    sich jeh nach Projekt verändern. Ordner 1+Ordner 2 verändern sich nicht.
    Danke Uli

  20. Ok, man sollte vielleicht doch den Code vorher ausprobieren :whistle:

    NEUE Zeile 52:
    .SelectedPath = “Z:\ordner1(fest eingestellt)\ordner2(fest eingestellt)”

    ist nicht die perfekte Lösung, aber besser geht es im Moment nicht :cwy:

  21. Guten Morgen FrankS,
    danke für deine Hilfe .
    Es hat soweit funktioniert.
    Gruß Uli

  22. :?Hallo allerseits,

    ich habe das Problem, dass in dem Script zwar der richtige Dateiname generiert wird (ich lasse den zur Kontrolle in einer MsgBox anzeigen), aber die Datei dann unter dem Dateinamen der zuletzt gewählten PDF-Export-Konfiguration von EPLAN gespeichert wird.
    Anscheinend gibt es bei der Übergabe der Variablen ‘strZielDatei’ ein Problem.

    Jemand ne Idee, woran das liegt?

    Gruß, Andreas.

  23. Hallo,

    kann mir jemand bitte weiter helfen. Ich möchte in Zeile 65 statt $(PROJECTNAME) den Wert aus dem Benutzer Zusatzfeld 1 einfügen ID=40001. Habe mir das ProjectInfo Skript auch schon angeschaut. Bekomme die beiden aber nicht zusammen gebastelt.

    Habe auch schon erfolgreich eine Abfrage eingebaut ob er beim schließen eine PDF erzeugen soll oder nicht.

  24. Du musst die Projekteigenschaft auslesen, das geht leider nicht so einfach, siehe hier.

  25. Ich möchte den PDF-Export  immer in deutsch ausführen. Deshalb habe ich folgende Zeilen am Anfang des Scripts ergänzt:

    ActionCallingContext LanguageContext = new ActionCallingContext();

    LanguageContext.AddParameter(“display”, “de_DE”);

    LanguageContext.AddParameter(“variable”, “de_DE”);

    oCli.Execute(“SetProjectLanguage”, LanguageContext);

    Leider wird die Sprachumschaltung erst wirksam, nach dem das Script beendet ist. Somit erfolgt der PDF-Export in der zuletzt benutzen Sprache.

    Was kann ich gegen diese Laufzeitprobleme tuen?

  26. Bei mir klappt das ohne Probleme. Kann es sein dass du evtl. an anderer Stelle die Sprache setzt?

  27. Danke für die aufmunternden Worte – heutiger erneuter Versuch brachte den ersehnten Erfolgt :-). Nun wird das Projekt automatisch in deutsch und mit einer eingeschalteten eigenen Ebene ausgegeben. Folgende Zeilen sind o.a. Zeilen nachgeordnet und schalten eine eigene Ebene sichtbar:

    ActionCallingContext EbeneEin = new ActionCallingContext();

    EbeneEin.AddParameter(“Layerstate”, “MONTAGEINFORMATIONEN| |y|y|”); // “<EBENE>|<Textgröße>|<Sichtbar>|<Drucken>|<Farbe>”

    new CommandLineInterpreter().Execute(“ToggleLayers”, EbeneEin);

     

     

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

This site uses Akismet to reduce spam. Learn how your comment data is processed.