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

Druckervorschau

Druckervorschau
09.01.2022 22:17:00
Siegfried
Hallo Wertes Forum,
stehe leider wieder einmal vor einem Problem für welches ich im WEB leider keine Lösung gefunden habe.
Ich habe ein Tabellenblatt mit über 6000 Zeilen zum Drucken, da dies ja etwas Zeit und Materialaufwendig ist habe ich mir eine Druckvorschau eingebaut.
Über diese ist es super den Druckbereich anzusehen, wenn nötig auch noch Einstellungen zu ändern bevor die Ausgabe an den ausgewählten Drucker erfolgt, welcher auch mit dieser Funktion ausgewählt wird.
Ich würde gerne an diese Funktion sowohl den ZielOrdner als auch den zu speichernden Namen übergeben, nur die Frage wie bzw. ist/wäre dies überhaupt möglich?

  • 
    Sub SelectPrinter(DruName)
    Dim sPrinter As String
    sPrinter = Application.ActivePrinter
    Application.Dialogs(xlDialogPrinterSetup).Show
    ActiveSheet.PrintPreview
    Application.ActivePrinter = sPrinter
    End Sub
    

  • Mit der Übergabe von DruName würde ich ja diese Werte übergeben, nur wie kann ich sie an "ActiveSheet.PrintPreview" weiter übergeben?
    Dazu einige Bilder zum besser Verständnis.
    DANKE für Eure Hilfe!!!
    Userbild
    Userbild
    Userbild
    Userbild

    8
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Druckervorschau
    10.01.2022 08:45:44
    MCO
    Hallo Siegfried!
    Warum nutzt du nicht die export-funktion von Excel? Hier bieten sich einige Optionen mehr, Werte zu übergeben, unter anderem auch den Dateinnamen.
    Such mal hier im Forum nach "ExportAsFixedFormat"
    Oder für eine ausführliche Beschreibung bei MS https://docs.microsoft.com/de-de/office/vba/api/excel.workbook.exportasfixedformat
    Manuell findest du die Funktion unter "Datei - Exportieren - pdf/xps-dokument erstellen"
    Gruß, MCO
    AW: Druckervorschau
    10.01.2022 21:28:55
    Siegfried
    Hallo MCO,
    DANKE für deine Rückmeldung. Nun die "ExportAsFixedFormat" hatte ich ja vorher schon verwendet, bekam aber plötzlich Fehlermeldungen bevor sie ausgeführt wurde mit "muss erst gespeichert werde" oder so, fand dazu leider keine Lösung, trat immer wieder auf. So suchte ich eben im WEB wo ich diese "ActiveSheet.PrintPreview" gefunden habe, welches mir sehr gut gefällt, da man sich eben noch vor der Durchführung ansehen kann wie das Ergebnis aussieht und vor allem man in einigen Einstellungen noch Änderungen vornehmen kann. Die Ausgabe von an die 200 Seiten braucht ja halt doch auch seine Zeit und wenn sie einem dann im Aufbau doch nicht gefällt musste das ganze wiederholen (von einer Ausgabe auf Papier gar nicht zu denken).
    Daher eben meine Frage, welche ja leider nicht beantwortet ist bis jetzt ob/wie es möglich wäre den zu speichernden "Namen" zu übergeben.
    Werde jetzt mal versuchen erst die "ActiveSheet.PrintPreview", vorher eine MsgBox ob Ja/Nein aufzurufen und nach dem Schließen die, oder eben gleich je nach dem wie die MsgBox entschieden hat, den Druck und speichern der PDF über "ExportAsFixedFormat" durchzuführen.
    Ist natürlich 2x gemoppelt, bleibt mir aber leider keine andere Lösung dann über, den wie bereits erwähnt bis dato, außer dem Hinweis von MCO keine Hilfestellung.
    LG Siegfried
    Anzeige
    AW: Druckervorschau
    11.01.2022 09:26:03
    MCO
    Hallo Siegfried!
    Probier es mal so:
    
    Sub Druck_mit_Vorschau()
    ActiveSheet.PrintPreview 'Die Druckvorschau abbrechen
    antw = MsgBox("War die Vorschau für Dich okay?", vbYesNo + vbQuestion, "Druckprüfung")
    If antw = vbYes Then
    xls_pfad = ActiveWorkbook.Path
    cfile = xls_pfad & "\" & ActiveSheet.Name
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=cfile, OpenAfterPublish:=True
    Shell "explorer.exe " & xls_pfad, vbNormalFocus
    End If
    End Sub
    
    Gruß, MCO
    AW: Druckervorschau
    11.01.2022 09:57:30
    Oberschlumpf
    Hi Siegfried,
    Zitat: ...außer dem Hinweis von MCO keine Hilfestellung...
    Besonders letzteres kommt für mich vorwurfsvoll rüber.
    Schade Siegfried, der Grund, dass niemand weiter antwortet, könnte doch tatsächlich + wirklich + in echt sein, dass niemad eine Lösung für deine Frage kennt!
    Aber vielleicht hab ja ich was für dich gefunden...
    Nur erst mal zum Testen
    1. Öffne manuell (ohne VBA) eine Exceldatei mit nur wenig Inhalt
    2. Wähl manuell (ohne VBA) deinen PDF-Drucker als aktiven Drucker aus
    3. Füg dieses Makro in ein allgem. Modul ein (das Modul musst du natürlich auch erst mal hinzufügen)
    
    Sub test()
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, PrToFileName:="D:\herber\test123777.pdf"
    End Sub
    
    Trag den für dich richtigen Pfad + Dateienamen in das Makro ein.
    4. Starte das Makro
    Egal, welchen Pfad und/oder Dateiname ich bisher eingetragen hatte - es wurde immer im Pfad die Datei mit Dateiname gespeichert - ein Doppelklick im Pfad auf die Datei öffnet diese im PDF-Viewer.
    Wenn von 1. - 4. bei dir auch alles so funktioniert, dann könntest du ja in deiner eigentlichen Datei...
    ...NUR mit Hilfe von Druckvorschau alles so anpassen, wie du es haben möchtest
    ...und dann - ohne - Druckerauswahl-Dialog (wo man Pfad + Name eintragen muss) mit meinem Code die Datei im Pfad + Name nach deinen Wünschen als PDF-Datei speichern.
    Hilfts?
    Wenn nein, weiß ich auch nich weiter...ohne eine Bsp-EXCEL-Datei von dir.
    Ciao
    Thorsten
    Anzeige
    AW: Druckervorschau
    12.01.2022 00:27:11
    Siegfried
    Hallo Oberschlumpf und MCO,
    DANKE für die beiden Anregungen, werde sie morgen oder übermorgen ausprobieren und dann diese Version einbauen welche mir am besten zusagt.
    Werde darüber Berichten.
    Lieber Oberschlumpf, zu deinem angeführten Zitat, kann nur nochmals sagen, mir wurde hier schon sehr oft geholfen, aber so wie im andern Beitrag ist es mir noch nie ergangen, tat richtig weh.
    Gruß Siegfried
    AW: Druckervorschau
    15.01.2022 17:31:31
    Siegfried
    Hallo Oberschlumpf, MCO und alle anderen Wissenden,
    nochmals ein DANKE für die beiden Anregungen, habe sie mehrfach durchgetestet und bin zu folgender Verwendung gekommen.
    Der Vorschlag von Oberschlumpf „Sub test“ = OK, aber eine Betrachtung des ausgegebene PDF-File ist erst im Nachhinein möglich und müsste, wenn er doch so nicht passen sollte, nochmals wiederholt werden.
    Die Anregung von MCO = ebenso OK, genauso habe ich es mir vorgestellt gewünscht. Es ist möglich die Ausgabeeinstellungen nochmals zu modifizieren, kann dann über die MsgBox super entscheiden wie es damit weitergehen soll.
    Der gewünschte Zielordner als auch speichernder Name lässt sich bestens zuordnen.
    Die Funktion „OpenAfterPublish:=True“ habe ich auf False gesetzt da ja mit der anschließend sich öffnenden ( Shell "explorer.exe " & xls_pfad, vbNormalFocus) ja ohnehin sich die Möglichkeit ergibt, einmal zu kontrollieren ob der File auch vorhanden ist und in weiterer Folge zur Inhaltskontrolle geöffnet werden kann, daher die „OpenAfterPublish:=False“ gesetzt, denn 2x muss ich ja den Inhalt nicht sehen bzw. kontrollieren.
    Nur ist mir jetzt ein Problem übriggeblieben, da im Original PDF-File von der Behörde das Erstellungsdatum der Ausgabe vermerkt ist, die gesamte PDF habe ich in eine Excel-Tabelle eingelesen, wo besagtes Datum in Zelle „B4“ eingetragen ist, möchte ich dieses an den jetzt als PDF auszugebenden Filenamen anhängen, um nicht erst im Inneren nachsehen zu müssen wann die Behörde dies Daten erstellt hat.
    Gelingt mir aber nicht, bekomme wieder die Fehlermeldung Laufzeitfehler -2147024773 (8007007b) – Das Dokument wurde nicht gespeichert.
    Erst dachte ich die Doppelpunkte in der mitgespeicherten Uhrzeit sind die Ursache, hab dies dann durch Anwenden von

  • vomDate = " - " & Mid(Range("FinOnl_BegEinr!B4"), 1, 17)
    cfile = xls_pfad & "\" & ActiveSheet.Name & vomDate
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=cfile, OpenAfterPublish:=False

  • geändert, es kommt trotzdem die gleiche Fehlermeldung. Nehme ich das vomDate weg funktioniert alles, verstehe ich nicht.
    Hoffe es kann mir da wer wieder einmal weiter helfen.
    Gruß Siegfried
    Userbild
    Anzeige
    AW: Druckervorschau
    15.01.2022 18:18:47
    ralf_b
    in deinem Dateinnamen (wahrscheinlich Datum) sind bestimmt ungültige Zeichen. der Doppelpunkt ist der erste Verdächtige.
    AW: Druckervorschau
    15.01.2022 22:59:28
    Siegfried
    Hallo Ralf,
    ja richtig getippt, das es die Doppelpunkte der mit angeführten Uhrzeit beim Datum die Ursache sein könnte habe ich gedacht und daher beim lesen der Spalte "B4" nur 17 Stellen genommen. Manchmal ist man eben doch auch etwas Blind und habe übersehen das ich nicht nur die Uhrzeit,
    "Stand: 01.10.2021 07:43:36" sondern eben noch ein Doppelpunkt nach dem Wort "Stand:" vorhanden ist, schon blöd, gelle.
    Gruß Siegfried

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige