Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Weitere VBA-Kommandos nur ausführen, wenn Druck erfolgt ist
#1
Hallo,

ich nutze in einem VBA-Makro 
Code:
Application.CommandBars.ExecuteMso "PrintPreviewAndPrint"
um einen fest definierten Druckbereich in der Vorschau anzuzeigen und ggf. zu Drucken.
Wenn aber die Vorschau durch den Benutzer abgebrochen und damit der Druck nicht ausgeführt wurde, soll der nachfolgende VBA-Code nicht ausgeführt werden.

Wie kann ich im VBA-Makro feststellen, ob der Druck tatsächlich durchgeführt oder schon in der Vorschau abgebrochen wurde?

UPDATE

Habe folgende für mich einfache, aber ausreichende Lösung gefunden:
Code:
returnCode = Worksheets("Beispiel").PrintPreview
If returnCode = True Then
    ' ... mache etwas ...
End If

   

Danke und Gruß
Rodario
Antworten Top
#2
Moin,

du könntest dir mal anschauen, ob das BeforePrint-Event in der zeitlichen Reihenfolge nach der PrintPreview liegt: https://learn.microsoft.com/en-us/office...eforeprint

Aber auch das bietet dir null Garantie. Drucker aus, oder PDF-Drucler gewählt, oder Druckauftrag gelöscht oder Ergebnis weggeworfen. Aöö das kannst du nicht kontrollieren. Was soll denn überhaupt der Zweck der Übung sein?

Viele Grüße 
derHöpp
Antworten Top
#3
überflüssige Variablen:

Code:
If  sheets("Beispiel").PrintPreview Then
    ' print hat geklappt: ... mache etwas ...
End If
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#4
Hallo derHoepp,

ziel der ganzen Aktion soll sein, dass Benutzer vor dem Druck noch einmal in der Vorschau/Seitenansicht kontrollieren können,
ob alle Texte/Daten korrekt sind und vollständig sind.

Falls nicht, sollen die Benutzer den Start des Druckes abbrechen und entsprechend korrigieren/anpassen können.

Ich weiß, dass man den festgelegten Druckbereich auch skalieren kann, so dass alles auf eine Seite passt, dass ist
aber nicht gewünscht, weil teils die Schrift sehr klein wird und dies teil eines Schreibens ist, welches an andere Stellen geht.

Gruß
Rodario

Hallo snb,

stimmt, die Variable kann ich mir sparen, da ich direkt den Returncode abfragen kann.

Danke für den Hinweis.

Gruß
Rodario
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste