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

Druckereinstellungen nach Druckerauswahl per VBA

Druckereinstellungen nach Druckerauswahl per VBA
23.11.2007 14:23:06
Hans
Hallo zusammen,
ich habe folgende Problemstellung:
Ich will an verschiedenen PCs gruppierte Tabellenblätter mit bestimmten Einstellungen auf dem "FreePDF XP" PDF Writer drucken.
Da die PDF Drucker bei den verschiedenen Rechnern auch an verschiedenen Ports liegen benutze ich folgende Funktion um den PDF Drucker zu suchen und anschließend als Standarddrucker einzustellen.

Sub ListAllPrinters()
Dim WshNetwork As Object, oPrinters As Object, i%
Set WshNetwork = CreateObject("WScript.Network")
Set oPrinters = WshNetwork.EnumPrinterConnections
For i = 0 To oPrinters.Count - 1 Step 2
Debug.Print oPrinters.Item(i + 1) & " an " & oPrinters.Item(i)
Next
Set WshNetwork = Nothing
End Sub


'Oben werden die installierten Drucker gesucht.


Function ChangePrinter(ByVal strPrinter As String) As Boolean   'Drucker wechseln
Dim WshNetwork As Object, oPrinters As Object, i%
ChangePrinter = False
Set WshNetwork = CreateObject("WScript.Network")
Set oPrinters = WshNetwork.EnumPrinterConnections
For i = 1 To oPrinters.Count Step 2
If oPrinters.Item(i) Like strPrinter Then
WshNetwork.SetDefaultPrinter oPrinters.Item(i)
ChangePrinter = True
Exit For
End If
Next
Set WshNetwork = Nothing
End Function



Sub pdf_konvertieren ()
Dim drucker As String
ChangePrinter "FreePDF XP"             'So kann ich ohne Portangabe den Drucker wechseln
'So weit so gut aber jetzt kommt das eigentliche Problem, die Einstellung des Druckers
With Application
.SendKeys ("%e")
.SendKeys ("%u")
.SendKeys ("%o")
.SendKeys (spb)
.SendKeys ("{Enter}")
.SendKeys ("{Enter}")
End With
Application.Dialogs(xlDialogPrint).Show
Worksheets("Auswahl-Blatt").Select
ChangePrinter drucker
End Sub


Wenn ich den Drucker per application.ActivePrinter auswähle funktioniert die Druckereinstellung über Sendkeys. Bei der Auswahl über ChangePrinter erfolgt der Druck mit Standardeinstellungen.
Ich hoffe, dass jemand eine Idee hat wie ich das Problem lösen kann.
Viele Grüße HansKurz

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Druckereinstellungen nach Druckerauswahl per VBA
23.11.2007 15:38:00
Hans
Ich weiß nicht ob's hilft, aber wenn der PDF Drucker vor Ausführung der Prozedur als Standard eingstellt ist funktioniert es. Der Fehler tritt nur auf, wenn ein anderer Drucker als Standard eingestellt ist.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige