Word 2007

Buteo

Mitglied
Ich möchte die Druckereinstellungen (Fach Steuerung von 4 Fächer) mittels aufgezeichnete Makros erledigen. Dies war im Office 2003 gut möglich.
Mit den folgende Makro kann ich zwar ein Druckerbefehl auslösen, das Fach oder die Fächer werden aber nicht richtig angesteuert:
Sub F1()
'
' F1 Makro
' Druckfach_1
'
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
End Sub

Ich möchte Fach 1 oder 2 oder 3 oder 4 oder 2 und 3 anwählen können per Makro
Herzlichem Dank für Idee und Tips
 

froeschli

Stammgast
Bei der Arbeit hatte mein Arbeitgeber einen Workaround gemacht, in dem er die einzelnen Schächte des Druckers als eigenständigen Drucker eingerichtet hat. Jedem dieser "Drucker" war ein eindeutiger Schacht zugewiesen, welcher man über den Namen des Druckers erkennen konnte. Somit musste der Druckauftrag (aus dem Makro) nur an einen bestimmten Drucker übermittelt werden.

Mich würde jedoch interessieren, wie du dies per Makro im Word 2003 gemacht hast, mit der Druckerschacht ansteuerung.

Grüsse froeschli
 

Buteo

Mitglied
Hoi Frosch
Ich habe einfach über die Makro Aufzeichnung gespeichert und das ist gut gegangen.
Wenn du interesse hast kann ich dich ein Normal.dot datei senden wo die Makros vorhanden sind
Gruss und sorry für den späte Antwort
 

froeschli

Stammgast
hi Buteo

Kannst du nicht den Makrocode einfach hier im Forum posten? Dann könnten andere auch davon profitieren.

Und keine Ursache wegen der späten Antwort.

Grüsse froeschli
 

Buteo

Mitglied
Makro Kode

Hier die Steuerung für 1 Fach:

Sub F_1()
'
' F_1 Makro
' Makro aufgezeichnet am 28.09.2006 von xxxx
'
With ActiveDocument.Styles(wdStyleNormal).Font
If .NameFarEast = .NameAscii Then
.NameAscii = ""
End If
.NameFarEast = ""
End With
With ActiveDocument.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientPortrait
.TopMargin = CentimetersToPoints(2.58)
.BottomMargin = CentimetersToPoints(2)
.LeftMargin = CentimetersToPoints(3)
.RightMargin = CentimetersToPoints(2)
.Gutter = CentimetersToPoints(0)
.HeaderDistance = CentimetersToPoints(1.2)
.FooterDistance = CentimetersToPoints(1.5)
.PageWidth = CentimetersToPoints(21)
.PageHeight = CentimetersToPoints(29.69)
.FirstPageTray = wdPrinterUpperBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = True
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = True
.MirrorMargins = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
End With
End Sub

und hier für 2 Fächer:

Sub F_2_3()
'
' F_2_3 Makro
' Makro aufgezeichnet am 28.09.2006 von xxxx
'
With ActiveDocument.Styles(wdStyleNormal).Font
If .NameFarEast = .NameAscii Then
.NameAscii = ""
End If
.NameFarEast = ""
End With
With ActiveDocument.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientPortrait
.TopMargin = CentimetersToPoints(2.58)
.BottomMargin = CentimetersToPoints(2)
.LeftMargin = CentimetersToPoints(3)
.RightMargin = CentimetersToPoints(2)
.Gutter = CentimetersToPoints(0)
.HeaderDistance = CentimetersToPoints(1.2)
.FooterDistance = CentimetersToPoints(1.5)
.PageWidth = CentimetersToPoints(21)
.PageHeight = CentimetersToPoints(29.69)
.FirstPageTray = wdPrinterLowerBin
.OtherPagesTray = wdPrinterLargeCapacityBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = True
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = True
.MirrorMargins = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
End With
End Sub

Hoffe dass es dir weiterbringt
Gruss und viel Spass
 

ändu

Neues Mitglied
OtherPagesTray und FirstPageTray

Ich möchte die Druckereinstellungen (Fach Steuerung von 4 Fächer) mittels aufgezeichnete Makros erledigen. Dies war im Office 2003 gut möglich.
Mit den folgende Makro kann ich zwar ein Druckerbefehl auslösen, das Fach oder die Fächer werden aber nicht richtig angesteuert:

[....]

Ich möchte Fach 1 oder 2 oder 3 oder 4 oder 2 und 3 anwählen können per Makro
Herzlichem Dank für Idee und Tips

Könnte es so Funktionieren?
Es ist möglich, dass nicht jeder Drucker die Fächer gleich definiert, die müsste man ggf. anpassen.

Sub F_2_3()
'
' F_2_3 Makro
' Makro aufgezeichnet am 28.09.2006 von xxxx

Dim IpBwert, MB 'Eingabe von Benutzer in ImputBox/MsgBox
MB = 6
Dim ad 'PageTray Ausdruck
IpBwert = InputBox("Bitte Papierfach wählen! Bs: 1=Fach1; 2=Fach2; ...", "Drucken", 1)
Select Case IpBwert
Case 1
ad = wdPrinterUpperBin 'oder ad=1
Case 2
ad = wdPrinterLowerBin 'oder ad=2
Case 3
ad = wdPrinterMiddleBin 'oder ad=3
Case 4
ad = wdPrinterManualFeed 'oder ad=4
'u.s.w
Case Else
ad = wdPrinterDefaultBin 'Fach nicht vorhanden oder Eingabe falsch
MB = MsgBox("Abfrage fehlgeschlagen!" + Chr(13) + Chr(13) + "Fach automatisch wählen?", vbYesNo, "Err Drucker")

End Select

If MB = 6 Then
With ActiveDocument.PageSetup
.FirstPageTray = ad 'Fach der ersten Seite festlegen
.OtherPagesTray = ad 'Fach der folgenden Seite festlegen
End With
Application.PrintOut
End If
End Sub

gruss
 
Zuletzt bearbeitet:
Oben