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

Drucken auf 2 Druckern - V2

Drucken auf 2 Druckern - V2
04.08.2013 19:55:24
Jean-Pierre
Hallo zusammen,
ich hatte vor einiger Zeit, Dank Hajo Z, mein Problem: "Drucken auf 2 Druckern" erfolgreich lösen können.
Da ich meinen PC leider neu aufsetzen musste, klappt dieser Code bei mir nicht mehr:
Sub Drucken_auf_zwei_Drucker()
' Drucken_auf_zwei_Drucker Makro
' Makro am 03.02.2013 von * aufgezeichnet
Application.ActivePrinter = "HP Photosmart C7200 series auf Ne04:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"HP Photosmart C7200 series auf Ne04:", Collate:=True
Application.ActivePrinter = "PDF Druck auf FPP3:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"PDF Druck auf FPP3:"
End Sub
Ich habe diesen Code einer Schaltfläche zugeordnet und beim ersten mal ausführen klappt dieser auch.
Nur wenn ich anschließend noch einmal etwas Drucken möchte, Druckt mir Excel nur in PDF Form und zwar 2x ohne es vorher auf den HP auszuwerfen.
Ich hatte auch schon bereits den Makrorecorder erneut aufgerufen und selbige Schritte gemacht wie in meiner ersten Problem Schilderung: https://www.herber.de/forum/archiv/1296to1300/t1297331.htm
Dabei kam dann dieser Code heraus:

Sub Druck_auf_HP_und_PDF()
' Druck_auf_HP_und_PDF Makro
' Makro am 28.07.2013 von JPM aufgezeichnet
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Application.ActivePrinter = "pdfFactory Pro auf FPP3:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"pdfFactory Pro auf FPP3:"
End Sub
Wo liegt der Fehler? Kann mir jemand helfen das Problem zu lösen?
Mir scheint, als wenn Excel/Windows bei dem zweiten Ausführungsversuch den PDF Drucker als Standarddrucker aktiviert hat.
Mit besten Grüßen aus dem Frankenland
Jean-Pierre

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drucken auf 2 Druckern - V2
04.08.2013 19:59:05
Hajo_Zi
Hallo Jean-Piere,
ich hätte es nach folgendem Prinzip gelöst.
Sub Faxen()
Dim savPrinter As String
savPrinter = ActivePrinter      ' aktuellen Drucker auslesen
ActivePrinter = "WinFax Pro 9.0"    ' anderen Drucker einstellen
ActiveSheet.PrintOut
ActivePrinter = savPrinter              ' Drucker wieder zurückstellen
End Sub

AW: Drucken auf 2 Druckern - V2
04.08.2013 20:10:50
Jean-Pierre
Hallo Hajo,
habe Deinen Code angepasst:

Sub Faxen()
Dim savPrinter As String
savPrinter = ActivePrinter      ' aktuellen Drucker auslesen
ActivePrinter = "HP Photosmart C7200 series"    ' anderen Drucker einstellen
ActiveSheet.PrintOut
ActivePrinter = savPrinter              ' Drucker wieder zurückstellen
End Sub
Und als Modul eingefügt, weiter habe ich diesen dann der Schaltfläche zugewiesen.
Jetzt bekomme ich jedoch einen Laufzeitfehler 1040 - "Die Methode 'ActivePrinter' für das Objekt '_Global' ist fehlgeschlagen.
Tut mir leid aber ich bin (leider) ein echter VBA Dummy :-(
Mit besten Grüßen aus dem Frankenland
Jean-Pierre

Anzeige
AW: Drucken auf 2 Druckern - V2
04.08.2013 20:26:36
Jean-Pierre
Hallo Hajo,
habe ich vergessen zu erwähnen: Der Drucker HP ist ein Netzwerkdrucker.
Mit besten Grüßen aus dem Frankenland
Jean-Pierre

AW: Drucken auf 2 Druckern - V2
07.08.2013 01:27:48
fcs
Hallo Jean-Pierre,
Fehler 1004 mit der Meldung bedeutet, dass der Name des Druckers nicht gefunden wurde. Warum auch immer?
Mit einem Netzwerksdrucker sollte es auch funktionieren. Ich bin mir aber nicht sicher ob bei einem Netzwerkdtucker das "an NExy" immer gleich ist. Ich hatte auch schon mal einen Fall, in dem diese Zählnummer sich häufig änderte, so dass in einer Schleife die Zählnummern urchprobiert werden mussten.
Nachfolgend ein Beispiel für 2 mal Drucen und 2 Makros zur Anzeige des Namens des aktiven Druckers.
Gruß
Franz
Sub Drucken_01()
' Drucken_01 Makro
Dim strPrinter As String
'Aktiven Drucker merken
strPrinter = Application.ActivePrinter
On Error GoTo Fehler
'Drucken auf Drucker
Application.ActivePrinter = "hp LaserJet 1000 (Kopie 1) auf Ne01:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
'Drucken als PDF
Application.ActivePrinter = "FreePDF auf Ne10:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
ActiveSheet.Select               'Hebt die Gruppierung der Blätter auf
Fehler:
If Err.Number  0 Then
MsgBox "Fehler-Nr,: " & Err.Number & vbLf & Err.Description & _
vbLf & "Bitte Name des Druckers im Code prüfen", , "Makro: Drucken_01"
End If
strPrinter = Application.ActivePrinter
End Sub
Sub ShowActivePrinter()
Dim strPrinter As String
strPrinter = Application.ActivePrinter
Debug.Print "Aktiver Drucker: " & strPrinter 'Anzeige im Direktbereich des VBA-Editors
MsgBox strPrinter, vbOKOnly, "Aktiver Drucker"
End Sub
Sub ActivePrinter_Name_in_Zwischenablage()
'Name des aktiven Druckers in die Zwischenablage
'Dieses Makro erfordert im VBA-Editor unter Extras den Verweis auf _
Microsoft Forms 2.0 Library
Dim strPrinter As String
Dim kurz As DataObject
strPrinter = Application.ActivePrinter
Set kurz = New DataObject
kurz.SetText strPrinter:  kurz.PutInClipboard: Set kurz = Nothing
MsgBox strPrinter & vbLf _
& "Druckername kann jetzt aus Zwischenablage eingefügt werden", _
vbOKOnly, "Aktiver Drucker"
End Sub

Anzeige
AW: Drucken auf 2 Druckern - V2
07.08.2013 10:05:40
Jean-Pierre
Hallo Franz,
Dank Dir, habe den Code in zwei Module eingefügt

Sub Drucken_01()
' Drucken_01 Makro
Dim strPrinter As String
'Aktiven Drucker merken
strPrinter = Application.ActivePrinter
On Error GoTo Fehler
'Drucken auf Drucker
Application.ActivePrinter = "HP Photosmart C7200 series auf Ne03:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
'Drucken als PDF
Application.ActivePrinter = "FreePDF auf Ne10:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
ActiveSheet.Select               'Hebt die Gruppierung der Blätter auf
Fehler:
If Err.Number  0 Then
MsgBox "Fehler-Nr,: " & Err.Number & vbLf & Err.Description & _
vbLf & "Bitte Name des Druckers im Code prüfen", , "Makro: Drucken_01"
End If
strPrinter = Application.ActivePrinter
End Sub
zweites Modul ab
Sub ShowActivePrinter()
Dim strPrinter As String
strPrinter = Application.ActivePrinter
Debug.Print "Aktiver Drucker: " & strPrinter 'Anzeige im Direktbereich des VBA-Editors
MsgBox strPrinter, vbOKOnly, "Aktiver Drucker"
End Sub
Sub ActivePrinter_Name_in_Zwischenablage()
'Name des aktiven Druckers in die Zwischenablage
'Dieses Makro erfordert im VBA-Editor unter Extras den Verweis auf _
Microsoft Forms 2.0 Library
Dim strPrinter As String
Dim kurz As DataObject
strPrinter = Application.ActivePrinter
Set kurz = New DataObject
kurz.SetText strPrinter:  kurz.PutInClipboard: Set kurz = Nothing
MsgBox strPrinter & vbLf _
& "Druckername kann jetzt aus Zwischenablage eingefügt werden", _
vbOKOnly, "Aktiver Drucker"
End Sub
Der Schaltfläche habe ich das erste Modul
zugewiesen und bei Klick bekomme ich nun diese Fehlermeldung:
Fehler beim Kompilieren: Benanntes Argument nicht gefunden - markiert wurde dieser Teil: IgnorePrintAreas:=

Gruß Pierre

Anzeige
AW: Drucken auf 2 Druckern - V2
07.08.2013 16:56:45
Hajo_Zi
ein Beitrag reicht in offen.
Gruß Hajo

Gelöst! Vielen Dank an Hajo & fcs !!!
07.08.2013 18:30:38
Jean-Pierre
Vielen Dank an Hajo und fcs!
habe das Problem nun lösen können :-)
Mittels dem Makro von von fcs (ShowActivePrinter) konnte ich die erste Lösung von Hajo entsprechend anpassen und nun klappt es auch wieder:
Sub Drucken_auf_zwei_Drucker()
' Drucken_auf_zwei_Drucker Makro
' Makro am 03.02.2013 von * aufgezeichnet
Application.ActivePrinter = "HP Photosmart C7200 series auf Ne03:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"HP Photosmart C7200 series auf Ne03", Collate:=True
Application.ActivePrinter = "pdfFactory Pro auf FPP3:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"pdfFactory Pro auf FPP3:"
End Sub
Nochmals vielen Dank euch beiden!
Grüße aus dem Frankenland
Jean-Pierre

Anzeige
Problem noch ungelöst :-(
05.08.2013 14:46:26
Jean-Pierre
Hallo zusammen,
hat niemand eine Idee?
Gruß
Jean-Pierre

AW: Problem noch ungelöst :-(
05.08.2013 14:47:33
Jean-Pierre
Häkchen vergessen bei Frage noch offen..

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige