ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 06.02.2001

Diese Seite wurde zuletzt aktualisiert am 06.02.2001
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Freie Druckerwahl

Zurück...


Anzeige

(-hg) mailto:hg_appprinter@aboutvb.de

Wenn Ihre Anwendung die Verwendung eines anderen Druckers als des Standard-Druckers ermöglichen soll, Sie aber den Anwender nicht vor jedem Druck erneut mit der Druckerauswahl (beispielsweise im Standard-Drucker-Dialog) belästigen wollen, können Sie ihm auch unabhängig davon eine Liste der verfügbaren Drucker zur Verfügung stellen. Aus dieser kann er dann einmal den gewünschten Drucker auswählen, der dann als Standard-Drucker Ihrer Anwendung gelten soll.

Dazu deklarieren Sie in einem Standard-Modul eine öffentliche ("Public") Objekt-Variable des Datentyps Printer.

Public AppPrinter As Printer

In Ihrer Anwendung verwenden Sie nun nur diesen "Drucker" anstelle des voreingestellten MSDN-Library - VB Printer-ObjektVisual Basic-Printer-Objekts, beispielsweise:

AppPrinter.NewDoc

Eine ListBox oder eine ComboBox zur Auswahl des Druckers, etwa in einem Optionen-Dialog, können Sie bequem mit der folgenden Hilfsprozedur FillPrintersList füllen. Sie übergeben ihr das Listen-Steuerelement (ListBox oder ComboBox) im ersten Parameter. Im zweiten, optionalen Parameter MarkDefaultPrinter legen Sie fest, ob der Name des im System eingestellten Standard-Druckers mit einem vorangestellten Sternchen "*" markiert werden soll (Voreinstellung True). Im dritten, ebenfalls optionalen Parameter geben Sie an, ob der System-Standard-Drucker zunächst auch als Standard-Drucker Ihrer Anwendung gesetzt werden soll.

Public Sub FillPrintersList(List As Object, _
 Optional ByVal MarkDefaultPrinter As Boolean = True, _
 Optional ByVal SetDefaultPrinter As Boolean = True)

  Dim nPrinter As Printer
  Dim i As Integer
  Dim nDefaultPrinterNum As Integer
  Dim nDefaultPrinterDeviceName As String
  
  nDefaultPrinterDeviceName = Printer.DeviceName
  With List
    .Clear
    If MarkDefaultPrinter Or SetDefaultPrinter Then
      For i = 0 To Printers.Count - 1
        Set nPrinter = Printers(i)
        If nPrinter.DeviceName = nDefaultPrinterDeviceName Then
          If MarkDefaultPrinter Then
            .AddItem "*" & nDefaultPrinterDeviceName
          Else
            .AddItem nDefaultPrinterDeviceName
          End If
          nDefaultPrinterNum = i
        Else
          .AddItem nPrinter.DeviceName
        End If
      Next
      If SetDefaultPrinter Then
        .ListIndex = nDefaultPrinterNum
      End If
    Else
      For Each nPrinter In Printers
        .AddItem nPrinter.DeviceName
      Next
    End If
  End With
End Sub

Diese Prozedur können Sie etwa gleich im Form_Load-Ereignis aufrufen, um beispielsweise eine "cboPrinters" genannte ComboBox mit den Druckernamen zu füllen.

Private Sub Form_Load()
  FillPrintersList cboPrinters
End Sub

Wird die Auswahl des Druckers in dieser Liste geändert (entweder vom Anwender oder per Code), wird der oben erwähnten AppPrinter-Objekt-Variablen der dem gewählten Druckernamen entsprechende Drucker aus der Printers-Collection zugewiesen:

Private Sub cboPrinters _Click()
  Set AppPrinter = Printers(cboPrinters.ListIndex)
End Sub

Modul modAppPrinter (modAppPrinter.bas - ca. 1,5 KB)


Artikel
Zum Download-Bereich dieses Artikel
Mail an den Autor dieses Artikels

KnowHow
Zur KnowHow-Übersicht

KnowHow-Themen
Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche




Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer