| |
|
|
Manfred Barei | Hallo, habe bei fogendem Codebeispiel folgende Fehlermeldung
Ich rufe zum Drucken den Druckerdialog auf und wähle hier "Microsoft Print to PDF" um die Datei als PDF zu speichern, jedoch entscheide ich mich um und wähle Abbrechen. Dabei kommt es zu dieser Fehlermeldung und das Progamm beendet sich. Wie kann mann diese Fehlermeldung abfangen damit das Programm weiter läuft.
Für die Hilfe im voraus schon einmal Danke
Gruß |
|
|
E.T. | Hab keinen "Microsoft Print to PDF" - Drucker, aber mit "PDF XChance" funktioniert es (wie auch mit "HP LaserJet" und "Fax"): OK druckt ein Rechteck, Abbrechen bricht ab und dein Beispiel beendet sich, ohne Fehlermeldung.
Mal mit anderem Drucker versucht ?? |
|
|
Manfred Barei | Hallo,
nein, es geht darum wenn ich den PDF-Drucker gewählt habe bei mir "Microsoft Print to PDF" kann mann auch mit jedem anderen PDF-Drucker machen und anschließend bei der Eingabe für den Dateinahmen unter der ich die PDF speichern möchte lande und hier abbrechen wähle kommt diese Fehlermeldung.
Gruß |
|
|
p.specht
| Manfred, in dem Startprint-Segment: Schließt Du irgendwann mit ENDPRINT die Sequenz wieder ab? Es sieht so aus, als stünde es im IF-Statement? |
|
|
Manfred Barei | Hallo p. specht, zum IF-Statement komme ich erst garnicht.
CLS
StartPrint "*Testausdruck"' hier wird über den Druckerdialog der Drucker
' "Microsoft Print to PDF" eingestellt, darauf erscheind ein
'Dialog um den Dateinamen für die PDF-Datei einzugeben,
'wenn ich hier jetzt abbrechen wähle geht die Ausführung des Programm's
'nicht weiter und bricht das Programm in Zeile 2 ab.
'Mann kommt also garnicht weiter als Zeile 2.
WindowTitle STR$(%Printing)
waitinput
If %Printing
MoveTo 34, 34
LineTo 34 + 343, 34
LineTo 34 + 343, 34 + 343
LineTo 34, 34 + 343
LineTo 34, 34
EndPrint
EndIf
'-End-------------------------------------------------------------------
End
Vielleicht kann hier nur Roland weiter Helfen?
Gruß
PS. Das hier nur ein Rechteck Gedruckt wird ist dem Beispiel geschuldet, stammt aus der Profan Hilfe. Ich wollte hier nicht meine ganze Druckausgabe einstellen. |
|
|
RGH | Der Hintergrund ist Folgender:
Die Systemvariable %Printing wird auf TRUE gesetzt, sobald Du den Druckerauswahl-Dialog mit "OK" beendet hast. Das hast Du ja getan. Also wird der Druckprozess gestartet. Wenn anschließend beim Drucken etwas schief läuft, gibt es diese Fehlermeldung. Da Du, aus welchen Gründen auch immer, die Abfrage des Dateinnamens abgebrochen hast, kann nicht gedruckt werden, da dieser fehlt.
Die Fehlermeldung kannst Du vermeiden, in dem Du während des Druckens vor dem StartPrint den Errorlevel auf -1 setzt.
Gruß Roland |
|
|
p.specht
| %Printing ist ja noch nicht true, wenn der Drucker erst ausgewählt wird. Ich vermute, das EndPrint gehört daher unter das Endif, nicht in den IF-ENDIF-Block hinein. |
|
|
RGH | Das würde aber nichts an der Fehlermeldung ändern. Diese wird schon beim StartPrint erzeugt, weil nach dem "OK" im Druckerauswahl-Dialog kein Dateiname gewählt wird und der Druckprozess nicht korrekt initialisiert werden kann.
Gruß Roland |
|
|
p.specht
| Achso, das "*" im Namen lässt erst den Drucker auswählen. Danke, soweit klar. |
|
|
Manfred Barei | Hallo Roland,
genau das war's, Danke
Jedoch ist das noch immer nicht das was ich eigentlich will. Ich habe nach einer UVV-Prüfung 1-100 Prüfberichte die ich als PDF-Datei abspeichern muß, dass heist 1-100 mal die Druckausgabe aufrufen Speicherort wählen und Dateiname vergeben und jede PDF abspeichern. Kann mann das nicht über Printbefehle oder Systemvariablen realisieren?
Das heist Speicherort und Dateiname vergeben PDF Printer aufrufen und Drucken und das alles ohne Druckdialog?
Gruß und Danke für den Hinweis mit ErrorLevel |
|
|
E.T. | Jedes mal der gleiche Speicherort ?? Dateiname jedes mal anders ??
Sonst würde ich Pfad und Dateiname+Zähler im Drucker festlegen, so das keine Abfrage nötig ist. |
|