Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
192to196
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
192to196
192to196
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Druckerauswahl

Druckerauswahl
12.12.2002 14:34:24
Sebastian
Hi,

habe folgende DruckBox. Ist es möglich, auch noch die Auswahl eines Druckers mit aufzurufen, so dass nicht immer auf dem Standard gedruckt wird (Laptops o.ä.)???

Private Sub PrintBtn_on_UserForm_Click()
Dim i%
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) = True Then _
Worksheets(.List(i)).PrintOut
Next i
End With
End Sub

Private Sub UserForm_Initialize()
Dim ws As Worksheet
For Each ws In Worksheets
ListBox1.AddItem ws.Name
Next ws
ListBox1.MultiSelect = fmMultiSelectMulti
End Sub

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Druckerauswahl
12.12.2002 14:40:36
Georg_Zi
Hallo Sebastian

Application.Dialogs(xlDialogPrinterSetup).Show


Gruß Georg

Re: Druckerauswahl
12.12.2002 15:06:48
Sebastian
Danke, aber wo muss ich das einfügen. Er druckt immer bevor die Auswahl erscheint....
Re: Druckerauswahl
12.12.2002 15:09:47
Georg_Zi
Hallo Sebastian

ich habe mir jetzt nicht Deinen Code angesehen, aber ich würde es als erste Zeile schreiben.

Gruß Georg

Re: Druckerauswahl
12.12.2002 15:14:00
Sebastian
alles klar, aber wenn ich bei der SetupBox auf Abbrechen gehe, druckt er trotzdem... Lösung?

Code:

Private Sub PrintBtn_on_UserForm_Click()
Dim i%
Application.Dialogs(xlDialogPrinterSetup).Show
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) = True Then _
Worksheets(.List(i)).PrintOut
Next i
End With
End Sub

Private Sub UserForm_Initialize()
Dim ws As Worksheet
For Each ws In Worksheets
ListBox1.AddItem ws.Name
Next ws
ListBox1.MultiSelect = fmMultiSelectMulti
End Sub

Anzeige
Re: Druckerauswahl
12.12.2002 15:20:45
Georg_Zi
Hallo Sebastian

immer das Problem komplett beschreiben. Die meisten können Deine Tabelle nicht sehen.


Option Explicit

Sub Sebastian()
Dim BoAntwort As Boolean
BoAntwort = Application.Dialogs(xlDialogPrinterSetup).Show
If BoAntwort = False Then Exit Sub
End Sub

Code eingefügt mit: Excel Code Jeanie

Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend < pre > < /pre > Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein


Gruß Hajo

Anzeige
Re: Druckerauswahl
12.12.2002 15:33:21
Sebastian
irgenwie habe ich jetzt den Faden total verloren... was soll das denn mit dem Jeanie? Kannst du denn meinen Code sehen?
Jedenfalls lautet der jetzt so. Was soll das Option exlizit bedeuten?

Das Setup soll nun erscheinen, nachdem ich den Druck-Button gedrückt habe. Wenn ich dort auf abbrechen gehe, dann soll nur das Setup wieder geschlossen werden.

Hier ist noch mal der Code...klappt leider noch nicht.

Sub DruckBoxDiag()
Dim BoAntwort As Boolean
BoAntwort = Application.Dialogs(xlDialogPrinterSetup).Show
If BoAntwort = False Then Exit Sub
End Sub

Private Sub PrintBtn_on_UserForm_Click()
Dim i%
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) = True Then _
Worksheets(.List(i)).PrintOut
Next i
End With
End Sub

Private Sub UserForm_Initialize()
Dim ws As Worksheet
For Each ws In Worksheets
ListBox1.AddItem ws.Name
Next ws
ListBox1.MultiSelect = fmMultiSelectMulti
End Sub

Anzeige
Re: Druckerauswahl
12.12.2002 15:37:33
Georg_Zi
Hallo Sebastin

Du mußt meinen Code nur in Deinen einbauen.

Gruß Hajo

Jeanie Test
12.12.2002 15:38:16
Sebastian
noch mal mit Jeanie: -Test-


'Nicht registrierte Benutzung der Excel Code Jeanie 1.0
Sub DruckBoxDiag()
Dim BoAntwort As Boolean
BoAntwort = Application.Dialogs(xlDialogPrinterSetup).Show
If BoAntwort = False Then Exit Sub
End Sub

Private Sub PrintBtn_on_UserForm_Click()
Dim i%
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) = True Then _
Worksheets(.List(i)).PrintOut
Next i
End With
End Sub

Private Sub UserForm_Initialize()
Dim ws As Worksheet
For Each ws In Worksheets
ListBox1.AddItem ws.Name
Next ws
ListBox1.MultiSelect = fmMultiSelectMulti
End Sub


Anzeige
wo denn?
12.12.2002 15:39:06
Sebastian
guck mal in den Jeanie-Test und sag mir, was noch falsch läuft. Fragt sich eben WO einbauen.

Danke vielmals

Re: wo denn?
12.12.2002 15:41:57
Georg_Zi
Hallo Sbastian

der ufruf der Druckerauswahl ist doch jetzt nicht mehr bestandteil Deines Makros. Ich würde die Zeilen
End Sub
Private Sub PrintBtn_on_UserForm_Click()

löschen

Gruß Georg

Re: wo denn?
12.12.2002 15:49:22
Sebastian
nicht ganz, aber so: Danke...


'Nicht registrierte Benutzung der Excel Code Jeanie 1.0
Private Sub PrintBtn_on_UserForm_Click()

Dim i%
Dim BoAntwort As Boolean

BoAntwort = Application.Dialogs(xlDialogPrinterSetup).Show
If BoAntwort = False Then Exit Sub

With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) = True Then _
Worksheets(.List(i)).PrintOut
Next i
End With

End Sub

Private Sub UserForm_Initialize()
Dim ws As Worksheet
For Each ws In Worksheets
ListBox1.AddItem ws.Name
Next ws
ListBox1.MultiSelect = fmMultiSelectMulti
End Sub


Anzeige
ach so...
12.12.2002 15:52:12
Sebastian
dann möchte ich noch, dass nach dem Druck die UserForm geschlossen wird. Wie funzt das?
Re: ach so...
12.12.2002 15:55:41
Georg_Zi
Hallo Sebastian

Me.Hide
oder
unload Me

Gruß Georg

Re: ach so...
12.12.2002 16:04:33
Sebastian
puuh, danke, jetzt bin ich durch
Re: Druckerauswahl
12.12.2002 18:38:06
Tobias
Hi Sebastian,

probier das doch mal mit folgendem Code. Mit diesem kannst Du alle Drucker ansprechen, die auf dem entsprechenden Combi installiert sind.

Sub Drucker_Multi()
Dim Druckerwahl As Boolean
Dim Kopf As String
Dim Stil As Integer

On Error GoTo fehler
STD_DRUCK = Application.ActivePrinter
Druckerwahl = Application.Dialogs(xlDialogPrinterSetup).Show
If Druckerwahl = True Then
ActiveWindow.SelectedSheets.PrintOut
Application.StatusBar = " Druck wird durchgeführt"
End If
GoTo Ende
fehler:
Kopf = "Druckerwechsel"
Stil = vbOKOnly + vbExclamation
MsgBox Err.Description, Stil, Kopf
Ende:
On Error Resume Next
Application.ActivePrinter = STD_DRUCK
Application.StatusBar = False
End Sub

Gruss Tobias

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige