Drucken mit Word / Ansteuern des Druckerfachs (Tray)

  • 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

  • Vielen Dank!


    Leider zeichnet er den Fachwechsel nicht mit auf...
    Habe zweimal Drucker gewechselt und auch jeweils das Fach hin und hergeschaltet, das wurde aber nicht mitaufgezeichnet


    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


    Habt Ihr sonst noch eine Idee?


    Danke und schöne Grüße
    Emanuel

  • Danke. Das haben wir schon getan, die Auskunft hatten sie nicht für uns ;)
    Jetzt heisst es: Testen. Und leider ein bisschen Blätter verschwenden, hilft nichts...
    Danke für die Reaktionen!

    • Offizieller Beitrag

    ungetestet nur als Idee:


    Es könnte es über WSH funktionieren.


    Oder über Sendkeys. Allerdings kann Sendkeys von den Spracheinstellungen und ggf. der Version abhängen.


    Oder über KeyPress aus der Windows-API (user32.dll, keybd_event). Auch hier kann es eine Abhängigkeit von der Sprache und der Betriebsystemversion geben.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein