Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
820to824
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
820to824
820to824
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Drucker die 1000ste...

Drucker die 1000ste...
23.11.2006 22:25:50
Thorsten_Z
Hallo Forum,
ich lasse mir in Spalte A alle auf meinem Rechner verfügbaren Drucker anzeigen. Das sieht dann so aus
Microsoft Office Document Image Writer
HP DeskJet 950C/952C/959C
ArCon PDF-Export
nun trage ich z.B. in Zelle B1 den Drucker "ArCon PDF-Export" ein.
und nun zum Problem:
Wie muß der VBACode geschrieben werden, das immer der In Zelle B1 stehenden Drucker benutzt wird?
In der Online-Suche habe ich nichts gefunden, was mit weiter geholfen hat.
Büdde Hilfe
Gruß
Thorsten_Z

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drucker die 1000ste...
23.11.2006 22:59:48
P@ulchen
Hallo Thorsten,
benutze nachfolgenden Code:

Option Explicit
Sub Drucken()
Dim xPrinter As String
Application.ScreenUpdating = False
xPrinter = Application.ActivePrinter
Application.ActivePrinter = Range("B1")
Worksheets("Tabelle1").PrintOut
Application.ActivePrinter = xPrinter
Application.ScreenUpdating = True
End Sub

Code eingefügt mit Syntaxhighlighter 4.0


Gruß aus Leipzig
P@ulchen
www.excel-werkstatt.de
Anzeige
AW: Drucker die 1000ste...
23.11.2006 23:07:17
fcs
Hallo Thorsten,
wenn du nur für die Arbeitsmappe in der auch die Tabelle der Drucker enthalten ist, den Drucker so festlegen willst, dann kannst du das mit dem BeforePrint-Ereignis steuern.
Im VBA-Editor fügst du unter "DieseArbeitsmappe" folgende Prozedur ein, wobei du ggf. den Namen der Tabelle noch anpassen muss.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Application.ActivePrinter = ActiveWorkbook.Worksheets("Tabelle1").Range("B1").Value
End Sub

Wenn du mit dem Eintrag in der Zelle B1 den aktiven Drucker in Excel immer für alle geöffneten Arbeitsmappen festlegen willst. Also quasi als Ersatz für den Auswahldialog "Drucken" dann sind folgende Prozeduren erforderlich:
Unter "DieseArbeitsmappe"

Private Sub Workbook_Open()
Application.ActivePrinter = ActiveWorkbook.Worksheets("Tabelle1").Range("B1")
End Sub

Unter der Tabelle in der sich die Druckerliste befindnet:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$B$1" Then
Application.ActivePrinter = Target.Value
End If
End Sub

Gruss
Franz
Anzeige
AW: Drucker die 1000ste...
24.11.2006 09:28:33
Thorsten_Z
Hallo Paulchen und Franz,
danke für eure Vorschläge. Egal welchen der Code´s ich benutze, der debugger Springt an der Stelle Application.ActivePrinter...
Hier ist mal die Datei, mit der Bitte euch das nochmal anzuschauen und mir zu sagen wo mein Fehler ist.
https://www.herber.de/bbs/user/38453.xls
gruss Thorsten
AW: Drucker die 1000ste...
24.11.2006 10:46:17
P@ulchen
Hallo Thorsten,
dann lassen wir das Umstellen des aktiven Druckers mal ganz weg und versuchen es so:

Sub Drucken()
Worksheets("Tabelle1").PrintOut , , , , Range("B1")
End Sub

Code eingefügt mit Syntaxhighlighter 4.0


Gruß aus Leipzig
P@ulchen
www.excel-werkstatt.de
Anzeige
AW: Drucker die 1000ste...
24.11.2006 12:00:05
fcs
Hallo Thorsten,
damit es funktioniert, muss du die Bezeichnungen der Drucker noch vervollständigen und zwar um das Ziel auf das gedruckt werden soll.
schaut dann bei mir etwa so aus:

Microsoft Office Document Image Writer auf Ne00:
HP DeskJet 950C/952C/959C auf LPT1:
\\s050a1025\P000A6084 auf Ne04:

Ich hab aber keine Ahnung, ob man das Makro, das die Druckernamen listet, irgendwie aufrüsten kann auch den Ausgabeort automatisch zu ermitteln.
Gruß
Franz
Wunderprächtig...
24.11.2006 12:22:47
Thorsten_Z
Hallo Paulchen und Franz,
Paulchen, dein Code funktioniert genau so wie ich es mir vorgestellt habe. Danke.
Franz, auch dir danke für deine Idee.
gruss Thorsten
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige