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