Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1696to1700
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Drucker auswahl

Drucker auswahl
13.06.2019 22:53:47
Michael
Guten Abend Allerseits
Benötige wieder einmal eure Hilfe. Folgenden Code habe ich (mit Hilfe von Daniel) in einer Userform zur Druckerbestimmung.
  • Private Sub CommandButton2_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As  _
    _
    Single, ByVal y As Single)
    Dim strPrinter As String
    strPrinter = Application.ActivePrinter
    Dim anz As Integer
    Dim Eingabe As String
    anz = 1
    If Button = 2 Then
    Eingabe = InputBox("Anzahl?")
    If Not IsNumeric(Eingabe) Then Exit Sub
    anz = CInt(Eingabe)
    If anz = 0 Then Exit Sub
    End If
    Application.ActivePrinter = "ZDesigner S4M-203dpi ZPL auf Ne00:"
    Sheets("Sticker").PrintOut From:=1, To:=1, Copies:=anz, Collate _
    :=True, IgnorePrintAreas:=False
    Application.ActivePrinter = strPrinter
    End Sub
    

  • Der Code funktioniert auch einwandfrei. Inzwischen ist es aber so, das andere in der Firma auch meine UserForm nutzen sollen.
    Das Problem dabei ist die Druckerauswahl. Bei mir ist das fest vorgegeben.
    Was ich benötige ist ein Button o.ä. in der UserForm, der bei einem Klick darauf, alle im Netzwerk erreichbaren Drucker in einem ?Listenfeld? auflistet, und dann den gewünschten Drucker in diesen Code einfügt. Die einmal vorgenommene Auswahl soll dann aber solange erhalten bleiben, bis jemand eine neue Auswahl trifft. Den obigen Code gibt es 35x in meiner UserForm, nur mit anderen "PrintOut From To" zuweisungen.
    Es geht also um die Zeile:

  • Application.ActivePrinter = "ZDesigner S4M-203dpi ZPL auf Ne00: "

  • Diese Zeile sollte variabel vom Benutzer auszuwählen sein, ohne im Code herum zu schreiben.
    Zur Info: Bei dem oben angegebenem Drucker, handelt es sich um einen Label-Drucker für selbstklebende Etiketten. Darum auch das jeweilige zurücksetzen nach dem Druck auf den vorherigen (normalen) Drucker (strPrinter), sonst würde alles auf dem Label-Drucker gedruckt werden.
    Vielen Dank für eure Hilfe
    Michael

    11
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Drucker auswahl
    14.06.2019 08:50:15
    UweD
    Hallo
    so?
    Private Sub CommandButton2_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
      
        Dim strPrinter As String
        strPrinter = Application.ActivePrinter
        Dim anz As Integer
        Dim Eingabe As String
        anz = 1
        If Button = 2 Then
            Eingabe = InputBox("Anzahl?")
            If Not IsNumeric(Eingabe) Then Exit Sub
            anz = CInt(Eingabe)
            If anz = 0 Then Exit Sub
        End If
        If Application.Dialogs(xlDialogPrinterSetup).Show Then
            Sheets("Sticker").PrintOut From:=1, To:=1, Copies:=anz, Collate _
                :=True, IgnorePrintAreas:=False
             Application.ActivePrinter = strPrinter
        End If
    
    End Sub
    
    
    LG UweD
    Anzeige
    AW: Drucker auswahl
    14.06.2019 12:38:26
    Michael
    Hallo UweD
    Danke für deine Hilfe, so ganz ist es aber noch nicht das was ich suche. Wenn ich das so verwende, muss bei jedem der 35 Button der Drucker händisch ausgewählt werden. Und das jedes Mal.
    Application.Dialogs(xlDialogPrinterSetup).Show ist schon gut, aber es müsste ein ?Übergeordneter? Code sein, der durch Klick auf einen neuen Button ausgeführt wird und der dann die Druckerangabe in jedem der 35 Buttons fest überschreibt. Und erst wenn mit Application.Dialogs(xlDialogPrinterSetup).Show eine neue Auswahl erfolgt, diese wieder fest überschrieben wird.
    Viele Grüße
    Michael
    Anzeige
    AW: Drucker auswahl
    14.06.2019 13:39:33
    Werni
    Hallo Michael
    https://www.herber.de/bbs/user/130386.zip
    Du musst die Datei "clsDrucker.cls" aus dem ZIP importieren. (Ist ein Klassenmodul und darf nicht umbenannt werden)
    Dann in einem normalen Modul folgende Funktion einfügen
    Public Function Druckername(Teilname As String) As String
    Dim a As New clsDrucker
    a.TeilstringDruckername = Teilname
    Druckername = a.VollständigerName
    End Function
    

    Und dein Code CommandButton2 mit dem nachstehenden ersetzen
    Private Sub CommandButton2_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As  _
    _
    _
    Single, ByVal y As Single)
    Dim strPrinter As String
    Dim Kurzpri As String
    Dim EtiPrinter As String 'Vollständiger Name des Eitketten Druckers
    Dim anz As Integer
    Dim Eingabe As String
    anz = 1
    strPrinter = Application.ActivePrinter 'Standard Drucker
    Kurzpri = "ZDesigner S4M-203dpi"       'Kurzzeichen des Etiketten Druckers
    EtiPrinter = Druckername(Kurzpri)      'Vollständiger Name des Eitketten Druckers
    Application.ActivePrinter = EtiPrinter
    If Button = 2 Then
    Eingabe = InputBox("Anzahl?")
    If Not IsNumeric(Eingabe) Then Exit Sub
    anz = CInt(Eingabe)
    If anz = 0 Then Exit Sub
    End If
    Sheets("Sticker").PrintOut From:=1, To:=1, Copies:=anz, Collate _
    :=True, IgnorePrintAreas:=False
    Application.ActivePrinter = strPrinter
    End Sub
    
    Gruss Werni
    Anzeige
    AW: Drucker auswahl
    14.06.2019 13:56:37
    Michael
    Hallo Werni
    Ich scheitere bereits an deinem ersten Satz:

  • Du musst die Datei "clsDrucker.cls" aus dem ZIP importieren. (Ist ein Klassenmodul und darf nicht umbenannt werden)

  • Was bedeutet das? Was für ein Zip?
    Gruß Michael
    AW: Drucker auswahl
    14.06.2019 14:11:36
    Werni
    Hallo Michael
    Hast du die Datei importieren können?
    Du brauchst keinen weiten Button.
    Gruss Werni
    AW: Drucker auswahl
    14.06.2019 14:29:49
    Michael
    Hallo Werni
    Habe die .cls importiert, ein neues Modul angelegt, und meinen Code in der Userform geändert. Habe es auch getestet und alles läuft. Was ich aber nicht verstehe ist: Wie wird der Drucker ausgewählt auf dem gedruckt werden soll. Wenn ich meine Excel Datei an einen Kollegen weitergebe, der einen anderen Etikettendrucker hat, wie kann er dann den richtigen Drucker auswählen ohne im Code herum zu pfuschen?
    Gruß Michael
    Anzeige
    AW: Drucker auswahl
    14.06.2019 14:43:46
    Werni
    Hallo Michael
    Ich dachte, dass alle auf denselben Drucker drucken!
    Mein Vorschlag gilt natürlich nur, wenn alle denselben Drucker benötigen aber eine andere Ne: Nummer haben.
    Dann geht das nur via Application.Dialogs(xlDialogPrinterSetup).Show wie UWE beschrieben hat.
    Gruss Werni
    AW: Drucker auswahl
    14.06.2019 15:01:25
    Michael
    Hallo Werni
    Sorry wenn ich mich da nicht klar ausgedrückt habe, es liegen nicht nur Wände sondern auch viele Kilometer zwischen meinen Kollegen und mir.
    Was ich brauche ist ein Button in meiner UserForm der die Application.Dialogs(xlDialogPrinterSetup).Show aufruft und die getroffene Auswahl in alle Codes
    der CommandButton(2-35)_MouseUp in der Zeile:
    Application.ActivePrinter = "ZDesigner S4M-203dpi ZPL auf Ne00:"
    mit der getroffenen Auswahl überschreibt.
    Viele Grüße
    Michael
    Anzeige
    AW: Drucker auswahl
    14.06.2019 15:02:56
    Werni
    Hallo nochmal
    Du kannst natürlich auch für jeden seinen Etikette Drucker einmalig festlegen.
    Dazu muss jeder mal den Drucker mal händisch wechseln (ohne zu drucken)
    Mit dem folgenden Code schreibst den Drucker samt Portnummer in eine Zelle (kann auch in einer ander Tabelle sein die du versteckst)
    Sub MeinDrucker()
    Tabelle10.[M1] = Application.ActivePrinter
    End Sub
    
    Diesen Code muss nur einmal ausgeführt werden.
    Dann schreibst du im Code "Drucken" nur noch Application.ActivePrinter=Tabelle10.[M1]
    Gruss Werni
    AW: Drucker auswahl
    14.06.2019 21:41:03
    Michael
    Hallo Werni
    Ist zwar nicht so schick und einfach wie ich mir das, als Anfänger, vorgestellt hatte. Aber es funktioniert. Muss mir halt noch eine "Betriebsanleitung" ausdenken für Kollegen die meine UserForm nutzen wollen.
    Meinen besten Dank für deine Hilfe
    Gruß Michael
    Anzeige
    AW: Drucker auswahl
    14.06.2019 14:07:59
    Michael
    Hallo Werni
    Sorry der Link ist mir entgangen. Kannst du mir den Code mit einfachen Worten erklären. Muss ich in meiner UserForm noch einen Button einfügen der die Änderungen dann ausführt?
    Gruß
    Michael

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige