Thema Datum  Von Nutzer Rating
Antwort
Rot Druckereinstellungen nach Druckerauswahl per VBA
23.11.2007 15:16:53 Hans Kurz
NotSolved
23.11.2007 15:39:56 HansKurz
NotSolved
28.11.2007 13:40:35 HansKurz
NotSolved
10.12.2007 19:38:58 sigi
NotSolved

Ansicht des Beitrags:
Von:
Hans Kurz
Datum:
23.11.2007 15:16:53
Views:
2903
Rating: Antwort:
  Ja
Thema:
Druckereinstellungen nach Druckerauswahl per VBA
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.

Ich verwende Excel 2002 auf Windows XP Professionel.


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


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Druckereinstellungen nach Druckerauswahl per VBA
23.11.2007 15:16:53 Hans Kurz
NotSolved
23.11.2007 15:39:56 HansKurz
NotSolved
28.11.2007 13:40:35 HansKurz
NotSolved
10.12.2007 19:38:58 sigi
NotSolved