23.02.2016, 10:10
Drucken verhindern ABER pdf erstellen erlauben
|
23.02.2016, 10:18
(22.02.2016, 19:17)atilla schrieb: Hallo Stefan, Auch hier einen guren Morgen, dies habe ich auch gerade getestet. Die Welt steht für eine Sekunde und denn ... denn der bekannte Fehlere :22:
23.02.2016, 10:23
Leider habe ich keinen Drucker den ich direkt bei mir Anschließen kann.
Ich sitze direkt im Netzwerk. --- Wenn ich "BeforePrint" ganz aus raus nehme kommt keine Fehlermeldung, allerdings wird denn auch das Drucken nicht verhindert. Und da nach meinem Verständnis eine pdf über den pdf-Drucker erstellt wird, aber gleichzeitig das Drucken verboten wird kommt es zu einem Konflikt. Vielleicht geht es ja einfach nicht und ich muss mir eine Alternative überlegen. Die Welt wird davon nicht untergehen. :15:
23.02.2016, 10:28
Idee ?!.
wie währe es wenn man dies über eine Variable abfängt. direkt vor dem erstellen der Backup pdf eine Variable setzen, direkt nach dem erstellen diese wieder zurück setzen. in BeforePrint diese abfragen und je nach inhalt weiter verfahren, also drucken oder das drucken verhindern. Aber vorher müsste diese Variable defeniert werden. Müsste es nicht darüber klappen? oder gibt es da einen Denkfehler?
23.02.2016, 10:35
Hallo Christian,
die Idee kommt leider zu spät :19: Das ist genau das, was ich von Anfang an hier eingestellt habe. Das ist die Variable boVar im Code. Die wird Prozedur übergreifend definiert und belegt. Beim Speichern erhält sie den Wert True. Im BeforePrint wird bei True "gecancelt". Auf diese weise funktioniert es bei mir einwandfrei.
Gruß Atilla
23.02.2016, 10:42
(23.02.2016, 10:35)atilla schrieb: Hallo Christian, ;) ja habe mir gerade den Code genauer angeschaut, und dachte mir gerade genau dies, mit boVar ... Man sieht ich sitze sehr selten vor VBA. Frage: Da es ja bei Euch läuft und bei mir nicht, kann es daran liegen das ich es als "Vorlage mit Makro" abspeichere? ... hoffe mal das nun keine Steine geflogen kommen ;)
23.02.2016, 10:45
(Dieser Beitrag wurde zuletzt bearbeitet: 23.02.2016, 11:16 von Christian19.)
Für die Übersicht:
Code: Arbeitsmappe: Code: Sub autostart() Code: Sub ExportPDF()
23.02.2016, 10:55
Habe gerade ein STOPP bei "If boVar = False Then" in Bevor Print gesetzt im mir boVar anzuschauen.
boVar ist Leer
23.02.2016, 11:02
so, gerade noch einmal etwas genauer nach boVar geschaut.
ich habe Code: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) und da auch ein Stopp eingestzt und den Inhalt von boVar verfolgt. Das Programm durchläuft "BeforeSave" springt in die Exportpdf und in dem Moment in dem das Programm in "BevorePrint" springt verliert beVor den Inhalt und ist Leer.
23.02.2016, 11:03
Hallo Christian,
kann es sein, dass Du nie den gesamten von uns eingestellten Code bei Dir übernommen hast? Ich sehe diese Zeile nicht: Dim boVar As Boolean Die muss außerhalb der Prozedur als erste Zeile im Codefenster wenn Option Explicit verwendet, dann darunter. Bei Andres Variante ist sie im allgeminen Modul bei meiner im Cpdefenster DiseArbeitsmappe zu finden. Ich habe jetzt auch als Vorlage (Template) getestet und es funktioniert genauso. Du hattest noch geschrieben, dass beim Speichern nur ein PDf erzeugt werden soll, und die Datei selber am besten gar nicht gespeichert werden sollte. Das geht auch, wenn Du als letzte Zeile im BeforeSave folgendes schreibst: Cancel =True Auf jeden Fall, da es hier eine Vorlage ist, solltest Du Änderungen am Code einmal abspeichern.
Gruß Atilla
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste