Rubrik: Drucker | VB-Versionen: VB4, VB5, VB6 | 08.03.01 |
Auswahl des aktiven Druckers Ermitteln aller installierten Drucker und Verwenden eines ganz bestimmten Druckers für den Ausdruck. | ||
Autor: Alfred Meyer | Bewertung: | Views: 43.627 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Über die Printers-Auflistung lassen sich alle im System installierten Drucker ermitteln. Sind mehrere Drucker installiert, so bietet es sich an, alle verfügbaren Drucker z.B. in einer ComboBox anzuzeigen, so daß der Ausdruck gezielt auf einen bestimmten Drucker erfolgen kann.
' Ermitteln aller verfügbaren Drucker ' und füllen der ComboBox Public Sub GetPrinters(Combo As Control) Dim x As Integer For x = 0 To Printers.Count - 1 Combo1.AddItem Printers(x).DeviceName Next x ' Standarddrucker voreinstellen For x = 0 To Combo1.ListCount - 1 If Combo1.List(x) = Printer.DeviceName Then Combo1.ListIndex = x Exit For End If Next x End Sub ' Festlegen des Druckers für den Ausdruck ' Erwartet wird als Parameter die im System verwendete ' Bezeichnung des Druckers ' ' Rückgabewert: True = OK ' False = Drucker nicht gefunden Private Function SetPrinter(ByVal prnName As String) _ As Boolean Dim Result As Boolean Dim x As Integer Result = False If Printers.Count > 0 Then For x = 0 To Printers.Count - 1 If Printers(x).DeviceName = prnName Then Set Printer = Printers(x) Result = True Exit For End If Next x End If SetPrinter = Result End Function
Beispiel:
Im Form_Load-Ereignis des Druckerauswahl-Fensters wird die ComboBox zunächst mit allen verfügbaren Druckern gefüllt.
Private Sub Form_Load() GetPrinters Combo1 End Sub
Druckerwechsel und Ausdruck starten
' zunächst aktuell verwendeten Drucker "merken" Dim stdPrinter As String stdPrinter = Printer.DeviceName ' Druckerwechsel und Ausdruck starten If SetPrinter(Combo1.Text) Then Printer.Print "Test" ... Printer.EndDoc End If ' "alten" Drucker wieder als Standard festlegen SetPrinter stdPrinter