vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Drucker   |   VB-Versionen: VB4, VB5, VB608.03.01
Auswahl des aktiven Druckers

Ermitteln aller installierten Drucker und Verwenden eines ganz bestimmten Druckers für den Ausdruck.

Autor:   Alfred MeyerBewertung:  Views:  43.627 
ohne HomepageSystem:  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



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.