Druckauswahl - Papierkassetten
14.02.2013 22:25:09
Rainer
hatte mir aus dem Netz diese Druckauswahl zu nutze gemacht:
Dim lListBox As Long
Dim aTemp() As Variant
Dim iIndex As Integer
Dim DruckerAktiv As String
Dim oSheetAktiv As Object
ReDim vntArray(0)
Set oSheetAktiv = ActiveSheet
'Index-Nummern der selektierte Blätter in temporäres Array schreiben
For lListBox = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(lListBox) Then
iIndex = iIndex + 1
ReDim Preserve aTemp(1 To iIndex)
aTemp(iIndex) = CLng(ListBox1.List(lListBox, 2))
End If
Next lListBox
Me.Hide 'Erforderlich, falls mit Seitenvorschau gearbeitet wird
If iIndex > 0 Then
DruckerAktiv = Application.ActivePrinter 'aktiven Drucker merken
Sheets(aTemp).Select
If Application.Dialogs(8).Show = True Then
End If
Application.ActivePrinter = DruckerAktiv 'gemerkten Drucker wieder aktivieren
End If
oSheetAktiv.Select
Unload Me
Nun möchte ich unterschiedliche Papierkassetten verwenden, was mit Einzelblattdruck auch funktioniert.
Mit o. g. Code wird jedoch leider immer nur eine Kassette angesprochen, was mir auch logisch scheint.
Mit nachfolgendem Code habe ich nun zwar die richtigen Kassetten, aber leider keine Auswahl mehr über die ListBox.
Dim DruckerAktiv As String
DruckerAktiv = Application.ActivePrinter 'aktiven Drucker merken
Tabelle9.Select
If Cells(1, 4) = "ja" And Cells(2, 4) = "ja" Then ActiveSheet.PrintOut
Tabelle8.Select
If Cells(1, 4) = "ja" And Cells(2, 4) = "ja" Then ActiveSheet.PrintOut
Tabelle10.Select
If Cells(1, 4) = "ja" And Cells(2, 4) = "ja" Then ActiveSheet.PrintOut
Tabelle13.Select
If Cells(1, 4) = "ja" And Cells(2, 4) = "ja" Then ActiveSheet.PrintOut
Tabelle12.Select
Die Texte der Listbox werden durch Abfrage mit
If WkSh.Range("D1") = "ja" Then
.AddItem WkSh.Cells(1, 6)
befüllt.
Wie erreiche ich nun, dass ich wieder nur meine angeklickten Tabellenblätter drucke?
Gruß
Rainer