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
772to776
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
772to776
772to776
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Drucker auswählen

Drucker auswählen
12.06.2006 15:26:17
volker
Hai Excels,
(ich hab schon mit Hilfe des Forums untenstehendes makro erhalten, komm aber damit nicht richtig hin.
Ich hab eine bestimmte Seiteneinrichtung die für 1 Sheet kurzeitig aufgehoben werden soll:
Ist es möglich, dass ich sagen kann wenn gedruckt wird, dann nimm beim Sheet "Kleber" den Drucker: Brother QL-550 auf Ne08: mit einer ganz bestimmten Seiteneinrichtung, Druck es aus und danach gehe wieder zur vorigen Seiteneinrichtung und wähle wieder den Standartdrucker(die Datei liegt nachher auf dem Server und nicht alle nutzen den selben Drucker).
Kann mir da jemand mit einem makro witerhelfen?
Vielen Dank Gruss volker

Private Sub Workbook_BeforePrint(Cancel As Boolean)
'Abhängig vom Namen des aktiven Tabellenblatt wird der Drucker gewählt
Select Case ActiveSheet.Name
Case "Kleber"
'Drucken auf Farbdrucker (Netzwerk)
Application.ActivePrinter = "Brother QL-550 auf Ne08:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:=True, _
ActivePrinter:="Brother QL-550 auf Ne08:", Collate:=True
'Case "Sticker"
'Drucken auf Labeldrucker (Netzwerk)
' Application.ActivePrinter = "\\s050a1025\P000A6084 auf Ne04:"
'Case Else
'Drucken auf lokalem Drucker (Standarddrucker)
' Application.ActivePrinter = "HP LaserJet 4 auf LPT1:"
End Select
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drucker auswählen
14.06.2006 12:24:06
fcs
Hallo Volker,
das läßt sich mit dem BeforePrint-Ereignismakro nicht realisieren, da ja nach dem Ablauf der hier eingegebenen Codes erst der Ausdruck/Seitenvorschau der selektierten Tabellen erfolgt.
Der einfachste Weg wäre für das Drucken der Tabelle Kleber auf den speziellen Label-Drucker ein separates Makro zu erstellen, das man z.B. per Button in der Tabelle starten kann.

Sub TabelleKleberLabelsDrucken()
If ActiveSheet.Name = "Kleber" Then
'Aktuell eingestellten Druckernamen speichern
Drucker = Application.ActivePrinter
'Seitenformatierungen Blatt "Kleber" für das Drucken auf den Label-Drucker
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.393700787401575)
.RightMargin = Application.InchesToPoints(0.393700787401575)
.TopMargin = Application.InchesToPoints(0.590551181102362)
.BottomMargin = Application.InchesToPoints(0.590551181102362)
.HeaderMargin = Application.InchesToPoints(0.511811023622047)
.FooterMargin = Application.InchesToPoints(0.511811023622047)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA5
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
End With
'Labels drucken
'Drucken auf den Ettikettendrucker (Netzwerk)
Application.ActivePrinter = "Brother QL-550 auf Ne08:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:=True, _
ActivePrinter:="Brother QL-550 auf Ne08:", Collate:=True
'Seitenformatierungen Blatt "Kleber" für das Drucken auf den Standarddrucker
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$2"
.PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = "Seite &P von &N"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.78740157480315)
.RightMargin = Application.InchesToPoints(0.78740157480315)
.TopMargin = Application.InchesToPoints(0.984251968503937)
.BottomMargin = Application.InchesToPoints(0.78740157480315)
.HeaderMargin = Application.InchesToPoints(0.511811023622047)
.FooterMargin = Application.InchesToPoints(0.511811023622047)
.PrintHeadings = False
.PrintGridlines = True
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
End With
'vorherigen Drucker wieder einstellen
Application.ActivePrinter = Drucker
Else
MsgBox "Makro Druckt Label-Ettiketten nur wenn das Blatt 'Kleber' aktiv ist"
End If
End Sub

Die erforderlichen Seitenformatierungen muss du natürlich anpassen. Falls du die Einstellung nicht weiß, dann kannst du den Code per Makro aufzeichen.
Dazu bei aktivem Blatt "Kleber" zunächst den Label-Drucker im Menü Datei-Drucken wählen, dann Makro-Aufzeichen starten. Jetzt die Einstellungen im Menü Datei-Seite einrichten für den Ausdruck auf die Labels machen, dann unter Datei-Drucken den Standard-Drucker wechseln und die Seiteneinstellungen für den Standarddrucker aufzeichen.Aufzeichnen beenden.
In meinem Code-Beispiel ersetzt du dann den entsprechenden Code durch den aufgezeichneten Code.
mfg
Franz
Anzeige
AW: Drucker auswählen
14.06.2006 13:54:10
volker
Hai Franz,
Danke mal ich werd es durchchecken dann meld ich mich wieder.
Gruss Volker

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige