Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1236to1240
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

Druckerauswahl über Makro

Druckerauswahl über Makro
Heike
Hallo,
ich habe gesamt 4 Drucker, die ich über 4 Symbole anwählen möchte.
HP1, HP2, HP3, Hp4 wobei HP2 immer der Standarddrucker sein soll. Die Drucker sind lokal installiert.
Folgenden Code habe ich mir zusammengebastelt, aber als nicht VBA-Kennerin, funktioniert er nicht.
Kann mir jemand helfen? Wäre toll und danke schön.
Sub HP1()
'Hier den aktiven Drucker festlegen:
Application.ActivePrinter = "HP1" 'Hier gehört der Druckername rein
'Druckmenü aufrufen:
Application.Dialogs(xlDialogPrinter).Show  'wird aber nicht zum Standarddrucker, also den  _
wieder auswählen:
ActivePrinter = "HP2"
End Sub
Gruß Heike

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Lösung gefunden
20.11.2011 16:43:59
Heike
Hallo,
ich zeichne jede Druckerauswahl mit dem Makrorekorder auf, und weise dem Makro ein Symbol zu. Ist zwar Fleißarbeit, funktioniert aber.
Wünsche allen einen schönen Sonntagabend.
Gruß
Heike
AW: Lösung gefunden
20.11.2011 16:50:22
Dieter(Drummer)
Hi Heike,
wollte dir gerade diese Lösung zeigen, sieht dann in etwa so aus:
Hier mal eine Musterzeile:
...
  • Application.ActivePrinter = "EPSON Stylus DX4400 Series auf Ne04:"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

  • ...
    Gruß, Dieter(Drummer)
    Druckmenü anzeigen?
    20.11.2011 16:55:53
    Heike
    Hallo Dieter(Drummer),
    ja genau, sieht bei mir auch so aus, vielen Dank.
    Kannst du mir sagen, wie ich in das aufgezeichnete Makro noch das Dialogfeld für das Druckermenü einbinden muss? Da ich immer unterschiedliche Kopieanzahlen habe.
    Also dieser Befehl (habe ich zumindest hier recherchiert: Application.Dialogs(xlDialogPrinter).Show
    Wäre super, Danke für evtl. Hilfe.
    Gruß
    Heike
    Anzeige
    AW: @Heike, hab mal gegoogelt ...
    20.11.2011 17:17:48
    Dieter(Drummer)
    ... Printermenü zeigen:
  • Application.Dialogs(xlDialogPrint).Show
  • .
    Gruß, Dieter(Drummer)
    AW: Druckmenü anzeigen?
    20.11.2011 17:25:13
    Dieter(Drummer)
    Hi Heike,
    bin nicht der VBA Könner. Es sieht dann wohl so aus:
  • Application.Dialogs(xlDialogPrint).Show
    Application.ActivePrinter = "EPSON Stylus DX4400 Series auf Ne04:"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

  • Gruß, Dieter(Drummer)
    Anzeige
    Ein 'Hobby-VBAler' muss ja nun nicht alles ...
    20.11.2011 17:53:15
    Luc:-?
    …gleich gut und das noch auf Anhieb können, Dieter,
    man kann sich ja auch auf etwas spezialisieren; alles andere macht man dann je nach Bedarf… ;-)
    Gruß Luc :-?
    AW: ... sehe ich aus so Luc:-? ...
    20.11.2011 17:58:47
    Dieter(Drummer)
    ... und helfe nach meinen Möglichkeiten, da ich auch oft gut, qualifizierte Hilfe hier im Forum erhalten habe.
    Gruß, Dieter(Drummer)
    AW:Dieter.....
    21.11.2011 08:38:22
    hary
    Moin Dieter
    ....dafuer hast Du aber ("sehr gute") schlagende Argumente. ;-))
    Vorschlag: Drumset mit VBA aus dem Publkum steuern. LOL
    gruss hary
    Passt leider nicht
    20.11.2011 18:16:54
    Heike
    Erst einmal vielen Dank für deine Hilfe, nur passt das leider nicht.
    Sub HP1_Schwarz_DRUCK()
    Application.Dialogs(xlDialogPrint).Show
    Application.ActivePrinter = "HP1_Schwarz_DRUCK auf Ne07:"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
    "HP1_Schwarz_DRUCK auf Ne07:", collate:=True
    End Sub
    
    Dieses Makro habe ich gesamt 4x (HP2, HP3, HP4), er zeigt mir zwar das Druckmenü aber 1. druckt er, auch wenn ich auf Abbrechen klicke und 2. nimmt er immer als Drucker den zuletzt ausgewählten.
    Vielleicht noch eine Idee?
    Vielen Dank.
    Gruß Heike
    Anzeige
    AW: Passt leider nicht
    20.11.2011 18:30:03
    Dieter(Drummer)
    Heike,
    ich gehe mal davon aus, dass Du verschiedene Drucker mit einem entsprechenden Button ausdrucken möchtest.
    Du müsstest ein Makro haben, dass den jeweiligen Drucker wählt und dir ZUSÄTZLICH die Möglichkeit bietet, die Anzahl Druckseiten anzugeben. Den Sinn das Druckmenü noch vorher zu zeigen ist mir nicht klar, wenn nur noch optional die Menge Druckseiten dazu gewählt werden soll.
    Sorry, hier muss ich passen, da meine VBA Kenntnis unzureichend ist. Hier können dir nur die Spezialisten aus dem Forum weiter helfen.
    Gruß, Dieter(Drummer)
    AW: Passt leider nicht
    20.11.2011 18:53:34
    Heike
    Hey Dieter,
    soweit habe ich es hingekriegt. Ich habe einfach die beiden "Application"-Sätze getauscht ;-)
    Also erst den Printer dann das "Show".
    Vielleicht hat ja noch jemand eine Idee, wie ich das Dialogfenster "Abbrechen" kann. Denn wenn ich auf Abbrechen klicke, druckt er trotzdem.
    Vielen Dank, vor allem die Dieter
    Gruß
    Heike
    Anzeige
    Jetzt passt es!
    20.11.2011 19:45:58
    Heike
    Hallo,
    so, nach viel tüffteln habe ich es jetzt raus :-)
    Sub HP1_Schwarz_DRUCK()
    Application.ActivePrinter = "HP1_Schwarz_DRUCK auf Ne04:"
    Application.Dialogs(xlDialogPrint).Show
    ActivePrinter = "HP1_Schwarz_DRUCK auf Ne04:"
    End Sub
    

    AW: Freut mich ...
    20.11.2011 22:11:07
    Dieter(Drummer)
    ... Heike, dass Du eine Lösung gefunden hast.
    Noch einen schönen Restabend.
    Gruß, Dieter(Drummer)
    AW: @Heike ... Hauptprinter
    21.11.2011 09:50:19
    Dieter(Drummer)
    Guten Morgen Heike,
    mir ist noch aufgefallen, dass Du mit deinem nun fertigen Makro - hier "
    
    ActivePrinter ="HP1_Schwarz_DRUCK auf Ne04:
    
    (vorletzte Zeile in deinem Makro) bleibt dieser Printer auch als aktiver Printer in deinem Druckmenü stehen.
    Wenn Du grundsätzlich den "Haupt.Printer" wieder im Druckmenü als Name stehen haben willst, _ musst Du noch eine Zeile hinzufügen, z.B.
    
    ActivePrinter = "HP?_Schwarz_DRUCK auf Ne00:
    
    Den Druckernamen und "Ne00" musst Du natürlich nach deinem Haupdrucker einsetzen.
    Gruß und einen sonnigen Tag
    Dieter(Drummer)
    Anzeige

    9 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige