VB 5/6-Tipp 0409: Drucker aufzählen und auswählen
von André Frimberger
Beschreibung
Zeigt die auf dem jeweiligen System vorhandenen Drucker auf und ermöglicht einen von ihnen für die eigene Anwendung zu setzen.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: keine | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Project1.vbp ------------- '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Schaltfläche "Command1" ' Steuerelement: Kombinationsliste "Combo1" 'Autor: André Frimberger 'E-Mail: webmaster@linuxhelpportal.de Option Explicit Private Sub Command1_Click() Dim Prn As Printer 'Falls Combo1.Text = "" wurde kein Drucker ausgewählt... If Me.Combo1.Text = "" Then MsgBox "Sie haben keinen Drucker ausgewählt!", _ vbInformation, "Error" Else 'für jeden Drucker ... For Each Prn In Printers 'Falls der vorhandene Drucker mit dem in der Combobox 'augewählten übereinstimmt, wird dieser als "Printer" 'festgelegt (Set Printer = Prn ). If Prn.DeviceName = Me.Combo1.Text Then Set Printer = Prn Exit For End If Next Prn 'Drucken ... Printer.Print "Sie haben folgenden Drucker ausgewählt:" Printer.Print Me.Combo1.Text Printer.EndDoc End If End Sub Private Sub Form_Load() Dim X As Integer Dim Y As Integer Dim Printername As String Y = -1 'Die Combobox mit vorhandenen Druckern füllen For X = 0 To Printers.Count - 1 Printername = Printers(X).DeviceName Me.Combo1.AddItem Printername 'Mit dem derzeit eingestellten vergleichen If Printername = Printer.DeviceName Then Y = X Next X Combo1.ListIndex = Y End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Project1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | |||||||
VB5 | |||||||
VB6 |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 6 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von Florian Rittmeier am 12.11.2003 um 21:08
Hallo Martin,
das ist nicht möglich. Es ist sehr wahrscheinlich, dass diese Angabe(n) in einem Speicherbereich abgespeichert werden, für den der Druckertreiber selbst verantwortlich ist, d.h. jeder Drucker speichert das anders.
Gruß Florian
Kommentar von Martin am 11.11.2003 um 18:20
Wie kann ich in VB6 herausfinden, welchen Papierschacht und welches Papierformat sowie Qualität (Folie/Plain) der User im CommonDialog ausgewählt hat?
Kommentar von Robin Walter am 15.08.2003 um 08:55
Den Bereich zur Auswahl alle Drucker:
For Each Prn In Printers
If Prn.DeviceName = Me.Combo1.Text Then
Set Printer = Prn
Exit For
End If
Next
habe ich modifiziert:
For Each Prn In Printers
If Instr(1, Prn.DeviceName, "Drucker1") <> 0 Then
Set Printer = Prn
Exit For
End If
Next
Das funktioniert unter Windows 2000 Pro ganz gut, allerdings nicht unter Windows 2000 Server. Hat jemand eine Idee ?
Gruss
Robin
robin@walter-malsch.com
Kommentar von Florian Rittmeier am 24.06.2003 um 17:40
Zusätzlich gibt es in VB5 einen Bug beim Printerobjekt, sodass die ganzen Standardrucker-VB-Sachen nicht korrekt laufen. Eine Korrektur ist mit dem aktuellen Service Pack möglich.
Gruß Florian
Kommentar von Ruru am 17.01.2003 um 08:44
Es sollte auch nicht zum Standarddrucker werden. Nur für die Eigene Application wird sie ausgewählt.
Kommentar von günter hohnsbein am 28.11.2001 um 14:56
hallo Du :o)
die zuweisung mit "Set Printer = Prn" erfolgt fehlerfrei, aber der entsprechende drucker wird NICHT zum standarddrucker!!!! funktioniert das bei dir????? wenn ja, dann sag bitte bescheid - es eilt etwas bei mir. auch unter VB 5.0 und WIN 95/98 kein erfolg.
danke für die mühe
gruss
günter