Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1864to1868
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

PrintPreviewAndPrint wie im Code STOP

PrintPreviewAndPrint wie im Code STOP
24.01.2022 23:58:46
Siegfried
Hallo alle Wissenden,
habe da wieder einmal ein Problem zu welchem ich im WEB leider keine Antwort finden konnte.
Ich kann durch setzen eines Wertes in bestimmten Zellen steuern das beim ausdrucken eines andern Tabellenblattes die Funktion "PrintPreviewAndPrint" zur Prüfung bzw. Anpassung der Druckereinstellungen aufgerufen wird. Erst wenn ich "PrintPreviewAndPrint" über den Pfeil oben links verlasse, sollte der Druckbereich mit den neuen Einstellungen in eine PDF, für welche auch der File-Name bereits übergeben wurde, gedruckt werden.
Dazu verwende ich folgenden Code
  • DruName = Range("Regie!C85") & ActiveSheet.Name & "-" & Range("Aufzeichnung!O10")
    If InStr(Range("Regie!E11"), "to PDF") > 0 Then
    If Range("Regie!B7") "" Then Call DruBer_Einst("B7")
    Application.ActivePrinter = Range("Regie!E11")
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=DruName, OpenAfterPublish:=True
    Else
    If Range("Regie!B7") "" Then Call DruBer_Einst("B7")
    ActiveSheet.PrintOut
    End If

  • Befindet sich also nun in Range("Regie!B7") ein Wert wird die
    
    Sub DruBer_Einst aufgerufen
    
  • 
    Sub DruBer_Einst(Wert)
    ActiveSheet.Unprotect
    If Range("Regie!" & Wert)  "" Then
    Application.CommandBars.ExecuteMso "PrintPreviewAndPrint"
    UserForm1.Show vbModeless
    End If
    If Range("Regie!" & Wert)  "" Then Range("Regie!" & Wert).ClearContents
    End Sub
    

  • Wie kann ich den Code in der "DruBer_Einst" so lange anhalten bis "PrintPreviewAndPrint" verlassen wird.
    Dachte die wäre möglich solange die UserForm1 nicht ausgelöst wird, macht er aber leider nicht, sondern erstellt bereits vorher die PDF.
    Ich hoffe man kann mir da mal wieder weiter helfen!
    Gruß Siegfried
    Userbild
    Userbild

    12
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: PrintPreviewAndPrint wie im Code STOP
    25.01.2022 07:19:42
    MCO
    Moin!
    Kannst du das nicht enfach in dasselbe Makro schreiben und dadurch die Reihenfolge festlegen?
    
    Sub DruBer_Einst(Wert)
    ActiveSheet.Unprotect
    PrintPreviewAndPrint
    If Range("Regie!" & Wert)  "" Then
    Application.CommandBars.ExecuteMso "PrintPreviewAndPrint"
    UserForm1.Show vbModeless
    End If
    If Range("Regie!" & Wert)  "" Then Range("Regie!" & Wert).ClearContents
    End Sub
    
    Gruß, MCO
    AW: PrintPreviewAndPrint wie im Code STOP
    25.01.2022 12:45:00
    Siegfried
    DANKE MCO für deinen Hinweis, meine erste Ausführung war wie du mir das empfohlen hast.
    Da ich dies aber 9x benötige bin ich auf die etwas Code sparsamerer Variante mit einer eigenen SUB gegangen.
    Ist aber egal welche Art ich verwende, Codeablauf bleibt nicht stehen und gibt als nächstes sofort die PDF aus.
    Gibt es eine Möglichkeit den weiteren Ablauf zu stoppen, bis man die Einrichtung des Druckbereiches mit PrintPreviewAndPrint beendet hat.
    Erst dann sollte der Ablauf des Codes fortgesetzt werden und eben die Ausgabe der PDF mit den neuen Einstellungen erfolgen?
    Gruß Siegfried
    Anzeige
    AW: PrintPreviewAndPrint wie im Code STOP
    25.01.2022 18:53:04
    onur
    Wieso
    
    Application.CommandBars.ExecuteMso "PrintPreviewAndPrint"
    
    und nicht einfach
    
    ActiveShet.PrintPreview
    
    und dort mit "Drucken"-Button drucken.
    Ausserdem, wenn du die Userform vbModeless öffnest, läuft der Code natürlich einfach weiter.
    AW: PrintPreviewAndPrint wie im Code STOP
    25.01.2022 23:07:22
    Siegfried
    Hallo onur, hätte deinen Rat befolgt führte aber leider auch zu keinem positivem Ergebnis, siehe Bild.
    Die User Form habe ich erst gesperrt und dann sogar komplett entfern, half leider nichts lief trotzdem weiter und führte den Druck der PDF durch.
    Deine zweite Anregung, nur "ActiveShet.PrintPreview" zu verwenden löste auch eine Fehlermeldung aus.
    Das einzige was geholfen hat, in der "Sub DruBer_Einst(Wert)" auf der "End if" einen Haltepunkt setzen, dann konnte ich alle Einstellungen im Druckerbereich vornehmen und als dies fertig war, den Haltepunkt durch F8 verlassen. Dann kam die PDF-Auswertung genauso wie ich sie vorher eingestellt hatte.
    Die Frage ist also statt dem von mir gesetzten Haltepunkt mit einem VBA-Befehl ein Halt zu erreichen bei welchem man trotzdem die Einstellungen vornehmen kann und wenn man dann den Pfeil links oben auswählt die Einstellmaske verlassen wird und auch der gesetzte Halt sich aufhebt.
    Mit STOP geht es leider auch nicht hätte ich versucht, ist aber einem Anwender nicht zumutbar :-)
    Gruß Siegfried
    Userbild
    Anzeige
    AW: PrintPreviewAndPrint wie im Code STOP
    25.01.2022 23:09:01
    Siegfried
    Habe vergessen das Kontrollkästchen zu aktivieren
    AW: PrintPreviewAndPrint wie im Code STOP
    26.01.2022 06:13:57
    onur
    "ActiveShet.PrintPreview" ist ja auch falsch.
    ActiveSheet.PrintPreview
    AW: PrintPreviewAndPrint wie im Code STOP
    26.01.2022 08:47:43
    Siegfried
    Lieber onur,
    wir reden da jetzt aneinander vorbei, im Text habe ich es mit Hochkomma angeführt, im Code steht es ohne, kann man am Bild sehr gut sehen!!!
    Damit kam eben sofort die Fehlermeldung Objekt erforderlich!
    Gruß Siegfried
    AW: PrintPreviewAndPrint wie im Code STOP
    26.01.2022 08:49:47
    onur
    Wer redet an wem vorbei ?
    Sheet mit ZWEI e !!!
    AW: PrintPreviewAndPrint wie im Code STOP
    26.01.2022 08:49:30
    Siegfried
    Entschuldige jetzt habe ich den wirklichen Fehler Shet gesehen!!!
    AW: PrintPreviewAndPrint wie im Code STOP
    26.01.2022 09:03:14
    onur
    Und das mit der Userform hast du auch nicht verstanden.
    Wenn du willst, dass der Code auf das Schliessen der Userform wartet, musst du die Userform OHNE vbModeless öffnen.
    Anzeige
    AW: PrintPreviewAndPrint wie im Code STOP
    27.01.2022 17:30:29
    Siegfried
    Hallo onur,
    ja, ja ab einem gewissen Alter und Urzeit sollte man nicht mehr hinter dem PC sitzen :-)
    Jedenfalls ein DANKE nochmals für deine Unterstützung, jetzt funkt es so wie ich es mir gewünscht habe.
    Das mit der UserForm muss ich erst nochmals probieren.
    LG Siegfried
    Gerne !
    27.01.2022 17:31:54
    onur

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige