Autor Thema: Drucken mit Word: Problem beim Ansteuern des Druckerfachs (Tray)  (Gelesen 5009 mal)

Offline ebrs

  • Frischling
  • *
  • Beiträge: 6
Hallo allerseits,

ich habe den Anwendungsfall, dass ich beim Drucken in der Lage sein müsste, unterschiedliche Fächer des Druckers anzusprechen.
In einem Fach liegt normales A4 Papier, in dem anderen ein spezielles Formular...

Folgende beiden Lösungen habe ich probiert, jedoch kommt der Druck, egal, was ich angebe, immer aus Fach 1.

Lösung 1:
Sub Initialize

Dim objWord As Variant
Dim objDoc As Variant
Dim Cursor As Variant
Dim inputTray As String
Dim intTray As integer
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add()
Set Cursor = objWord.Selection
inputTray = InputBox$({Bitte Fach Nr angeben})
If inputTray <> "" And IsNumeric(inputTray) Then
intTray = CInt(inputTray)
Cursor.PageSetup.FirstPageTray = intTray
Cursor.PageSetup.OtherPagesTray = intTray
Cursor.typetext "Testdruck Fach " & inputTray
objWord.Application.PrintOut
Sleep 2
objWord.Quit(0)
End If

End Sub


Lösung 2: (Hier habe ich die Properties FirstPageTray und OtherPagesTray der WordObject.Selection anzusprechen, direkt die Properties aus verwendet
Sub Initialize

Dim objWord As Variant
Dim objDoc As Variant
Dim Cursor As Variant
Dim inputTray As String
Dim intTray As integer
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add()
Set Cursor = objWord.Selection
inputTray = InputBox$({Bitte Fach Nr angeben})
If inputTray <> "" And IsNumeric(inputTray) Then
intTray = CInt(inputTray)
objDoc.PageSetup.FirstPageTray = intTray
objDoc.PageSetup.OtherPagesTray = intTray
Cursor.typetext "Testdruck Fach " & inputTray
objWord.Application.PrintOut
Sleep 2
objWord.Quit(0)
End If

End Sub


Das Ergebnis ist in beiden Fällen das gleiche.
Wir haben jetzt mal die Fächer 0-10 ausprobiert.
Hab ich in der Umsetzung von FirstPageTray / OtherPagesTray etwas falsch gemacht?
Könnte es daran liegen, dass die eigentlich vom Drucker "verstandene" Fachnummer höher liegt als 10? Man könnte ja auch wesentliche höhere Nummern verwenden. Beim Hersteller waren keine Informationen darüber zu finden.

Herzlichen Dank für Eure Tipps!

Viele Grüße
Emanuel

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.870
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
hmmm... was ausser der blauen Farbe und schlechteren Formtierung des Codes unterscheidet diese Frage nun von Deiner ersten?
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline ugusko

  • Frischling
  • *
  • Beiträge: 9
  • Geschlecht: Männlich
Die Fachnummern können gern im Bereich von 258, 259, 260 liegen Je nach Druckertreiber
Wir haben HP Drucker mit 258 für Fach 1 , 259 mit Fach 2 und 260 für Fach 3

Bei den Lexmarks ist 1 für Fach 1, 2 für Fach2, ...

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.870
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Und um die Schachtnummern rauszufinden: Wie im Dominoforum von taurec angemerkt: Macro aufzeichnen...

Siehe auch die Antwort von Stef4n in einem anderen Forum...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline ebrs

  • Frischling
  • *
  • Beiträge: 6
Stimmt, sorry, der Urlaub die letzten Wochen war wohl zu erholsam.
Ich hatte total vergessen, dass ich die Frage schonmal gepostet hatte, sorry!
Aber danke für die hilfreichen Antworten!
Zumindest ist wohl in meinem Code nichts grundsätzlich falsches, das ist ja schonmal was.

Offline ebrs

  • Frischling
  • *
  • Beiträge: 6
Vielen Dank für die Anregung mit dem Makro aufzeichnen!

Leider zeichnet er NICHT den Wechsel des Druckerfachs auf.
Habe zweimal den Drucker gewechselt bei der Aufzeichnung und auch mehrmals das Fach. So sieht die Aufzeichnung aus:

Sub Druckerschacht2()
'
' Druckerschacht2 Makro
'
'
    ActivePrinter = "\\PMU00\P-MU0917"
    ActivePrinter = "\\PMU10\P-MU1129"
    Selection.TypeText Text:="hallo"
    Selection.TypeParagraph
    Selection.TypeText Text:="jetzt tippe ich"
End Sub

Mache ich etwas falsch beim Makro aufzeichnen?

Danke!

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.870
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Hast Du es denn so gemacht, wie im verlinkten Artikel beschrieben:
Zitat
Öffne ein Dokument und nimm ein Makro auf.

Schreib -> Schacht 1
und geh anschließend auf Seite einrichten und stell den Schacht auf Schacht 1

Schreib -> Schacht 2
und geh anschließend auf Seite einrichten und stell den Schacht auf Schacht 2
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline ebrs

  • Frischling
  • *
  • Beiträge: 6
Danke!
Bei meinem Drucker hat das tatsächlich anstandslos funktioniert. Man sollte genau lesen ;-)

ABER (leider):
Bei dem Drucker, um des hier geht, ist folgender Effekt:
In den Druckereigenschaften sieht man sowohl das Fach "Behälter 1" als auch "Behälter 2".
Zwischen diesen beiden möchte ich in meinem Code unterscheiden können.
Siehe angehängtes File "Drucken Druckereigenschaften.png"
In "Seite einrichten" sehe ich den Behälter 2 nicht, nur Behälter 1, siehe File "Drucken Seite einrichten.png"
Es ist wie verhext. So nahe dran ;-)
Behälter 1 hat 257.
Wir haben jetzt alle Nummern bis 400 durch, Behälter 2 war noch nicht dabei ;-)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz