Visual Basic: Print Document immer an festen Speicherort speichern und Dateiname vorgeben?
Servus,
mit folgendem Code kann ich meine Print Form drucken.
If PrintDialog1.ShowDialog() = Windows.Forms.DialogResult.OK
Then
PrintDocument1.DocumentName = "Das ist ein Document"
PrintDocument1.Print()
End If
Me.ShowInTaskbar = False
End Sub
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) _
Handles PrintDocument1.PrintPage
Dim bmp As New Bitmap(Me.Width, Me.Height)
Me.DrawToBitmap(bmp, New Rectangle(0, 0, Me.Width, Me.Height))
' e.Graphics.ScaleTransform(0.2, 0.2)
e.Graphics.DrawImage(bmp, 0, 0)
Me.ShowInTaskbar = False
End Sub
Wie kann ich festlegen, dass immer der Microsoft PDF Creator verwendet werden soll und dass die Datei einen bestimmten Namen hat sowie an einer bestimmten Stelle gespeichert wird?
Der obige Code geht, aber man muss immer selber den Drucker, den Namen und den Speicherort wählen. Das soll aber automatisch gehen. Habt ihr eine Lösung?
2 Antworten
An die Einstellungen des Druckers PrinterSettings kommst du über PrintDialog.PrinterSettings.
Im PrintPreviewDialog finde ich diese Eigenschaft über den Zwischenschrit Document.
PrintPreviewDialog1.Document.PrinterSettings
Sehr intressant allerdings ändert sich nix daran das die manuelle oberfläche aufplopt und von mit nen drucker und einen speicherort sowie Dokumentennamen will
Wenn du den Code als VBA geschrieben hast (hinten in Excel oder Word, etc)
Dann einfacher "Speichern unter" als PDF programmieren.
"Eine" Zeile, erspart die Steuerung des Drucker Dialog.
Ebenfalls Microsoft. Referenziere die Bibliotheken, dann lassen sich Excel, Word Objekte erzeugen und genauso verwenden wie man es auch VBA kennt.
Ist leider Visual basic in Visual Studio 2019