Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

PDF Ausgabe

Begonnen von Paschul, Oktober 09, 2022, 18:54:19

⏪ vorheriges - nächstes ⏩

Paschul

Hallo ich bin neu hier und benötige Unterstützung. Ich gebe pdf Dateien per Veba auf Drucker aus. Das klappt auch. Nun habe ich eine neue Liste, die soll im Querformat ausgegeben werden. Aber der Drucker gibt alles nur im Hochformat aus.
Mit Orientation habe ich probiert, das funkt nich
Vielen Dank und gesund bleiben
Gruß Paschul

MzKlMu

#1
Hallo,
was ist Veba? Oder meinst Du VBA ?
Im Entwurf des Berichtes muss auch die Seitenrichtung auf Querformat eingestellt werden.
Gruß Klaus

Paschul

Hallo, sorry es sollte natürlich Vba heißen. Im Entwurf ist quer eingetragen. Ich kann den Bericht auch von einem Formular drucken, da kommt er im Querformat. Hilft es wenn ich den Code poste??
Gruß Paschul

markusxy

Zitat von: Paschul am Oktober 09, 2022, 18:54:19Ich gebe pdf Dateien per Veba auf Drucker aus.

Hier müsste vielleicht präzisiert werden.

Werden hier wirklich bereits existierende PDF ausgedruckt, oder erzeugst du die PDF?

VBA hat ja gar keine echte Druckfunktion um Dateien zu drucken.
Man kann also nur auf irgendwelche Workarounds ausweichen - wie ShellExecute usw.
Da ist mir aber nicht bekannt, wie man Drucker-Treiber ansprechen kann.

Du brauchst daher einen Druckertreiber, beim dem Querformat fix hinterlegt ist.
Ansonsten braucht man entsprechende Software.

Paschul

Hallo, ich drucke erzeugte Pdfs aus, diese werden im Laufe des Tages erzeugt und dann nach Anwendungsgebiet abends ausgedruckt. Also mit dieser Routine wird gedruckt: Aktion ist hier print

Private Function DateiOeffnen(Aktion As String, Pfad As String, _
                             Ansicht As Long) As Boolean
Dim hwnd As LongPtr
    Call ShellExecute(hwnd, Aktion, Pfad, "", "", Ansicht)
End Function

markusxy

Du musst nur einen Drucker anlegen, der fix im Querformat druckt,
damit du den Druckauftrag an den speziellen Drucker schicken kannst.

Hier noch der Code zum Drucken:

Sub Datei_Drucken(sDatei As String, sPrinter As String)

Call ShellExecute(0&, "printto", _
                  sDatei, _
                  Chr(34) & sPrinter & Chr(34), _
                  vbNullString, 0&)
End Sub